我開始了與EF,並且需要一些基本準則EF:更新SQL視圖或添加自定義屬性
我有一個命名爲名字,姓氏,出生日期和更
現在個人表我綁定一個數據網格(在WPF中)和所有罰款
但我如何創建一個全名(姓,名)列?
在我以前的項目(MS訪問,asp.net)我會做一個視圖名稱viwpersons並有所有的計算/計算列。然後將UI綁定到視圖
與EF,如果你綁定視圖,則有幾個問題
- 你必須一次又一次地去除
definingquery
,否則你不能更新 - 時用戶編輯姓氏或firstame,沒有更新的領域,直到整個數據網格是反彈或刷新
- 插入和刪除是完全不可能的
- 即使在編輯數據網格連接表,所以我們可以插入和刪除,ch安格斯不會反映在dropdownlists等各地的應用程序,因爲它們連接到視圖,而不是表的
ObservableCollection
這麼幾個星期後,黑客這條路上,我決定去「概念」或「邏輯」或其他。我從我的edmx中刪除了視圖,並且將僅與表格一起工作。我試圖將我的第一個計算列添加到表中。按照許多博客我將此添加到我的代碼
Partial Class Person
<System.Runtime.Serialization.DataMember()> ReadOnly Property FullName
Get
Return LastName & ", " & FirstName
End Get
End Property
End Class
但這種方法也有一些問題
- 試圖在此過濾器,給我一個錯誤
Late binding operations cannot be converted to an expression tree.
[現在,我相信這是真的,因爲有沒有辦法,MSSQL可以在這個領域不存在有] - 沒有其他應用程序或服務可以直接使用該數據庫,因爲它不具有任何的意見,如果所有的邏輯將在EF代碼
- 性能放在過濾,禁用代碼中的字段所有的「設置基於」 MSSQL的功率相加,並加入數百萬條記錄(上面的例子中的無關,但最終我有更多的字段ID需要,如餘額)
所以什麼是正確的,首選,這樣做的「EF方式」?
一切順利,我很欣賞你的建議
任何人有任何想法?我真的需要一個很好的答案。謝謝 – 2012-04-15 09:28:59