2011-04-06 74 views

回答

9

由於EF4創建的模型類通常是partial類,因此您可以選擇使用其他屬性和方法在單獨的文件中擴展類。在那裏,你可以添加一個只讀屬性,只有一個getter返回了合併的全名:

public partial class Person 
{ 
    public string FullName 
    { 
     get 
     { 
      return string.Concat(FirstName, " ", LastName); 
     } 
    } 
} 

這是隻有在你的模型類,但不映射到數據庫中的屬性,它不存在,作爲一個數據庫中的列。因爲您在單獨的文件中創建分部類的這一部分,所以如果您應該更改模型,則不會觸及並由模型設計器覆蓋。

+0

謝謝,這真的很有幫助。不幸的是,我無法將這些部分類與QueryExtender一起用作我所領導的DataFields。 :( – davemackey 2011-04-06 18:34:56

+0

@davemackey:啊,我明白了,你想要查詢'FullName',對嗎?你是否使用「數據庫優先」設計?然後可能會有選擇直接在數據庫中創建一個計算列來進行並置。你可以把這個列映射到你的模型中的一個屬性(EF設計者會自動創建這個屬性)並且查詢應該是可能的。希望QueryExtender也允許使用這個字段,但是我不太確定 – Slauma 2011-04-06 18:50:34

+0

謝謝。 ,我已經有了數據庫,所以我必須以某種方式執行First_Name和Last_Name的連接。我正在使用QueryExtender的CustomExpression選項,但迄今尚未能使其工作。 – davemackey 2011-04-06 18:55:02