3
我有兩個屬性(「FIRST_NAME」和「LAST_NAME」)需要作爲單個媒體資源(例如「FULL_NAME」)訪問。有沒有辦法讓我向包含FIRST_NAME和LAST_NAME的組合值的實體模型添加屬性?在實體框架模型中創建組合屬性?
我有兩個屬性(「FIRST_NAME」和「LAST_NAME」)需要作爲單個媒體資源(例如「FULL_NAME」)訪問。有沒有辦法讓我向包含FIRST_NAME和LAST_NAME的組合值的實體模型添加屬性?在實體框架模型中創建組合屬性?
由於EF4創建的模型類通常是partial
類,因此您可以選擇使用其他屬性和方法在單獨的文件中擴展類。在那裏,你可以添加一個只讀屬性,只有一個getter返回了合併的全名:
public partial class Person
{
public string FullName
{
get
{
return string.Concat(FirstName, " ", LastName);
}
}
}
這是隻有在你的模型類,但不映射到數據庫中的屬性,它不存在,作爲一個數據庫中的列。因爲您在單獨的文件中創建分部類的這一部分,所以如果您應該更改模型,則不會觸及並由模型設計器覆蓋。
謝謝,這真的很有幫助。不幸的是,我無法將這些部分類與QueryExtender一起用作我所領導的DataFields。 :( – davemackey 2011-04-06 18:34:56
@davemackey:啊,我明白了,你想要查詢'FullName',對嗎?你是否使用「數據庫優先」設計?然後可能會有選擇直接在數據庫中創建一個計算列來進行並置。你可以把這個列映射到你的模型中的一個屬性(EF設計者會自動創建這個屬性)並且查詢應該是可能的。希望QueryExtender也允許使用這個字段,但是我不太確定 – Slauma 2011-04-06 18:50:34
謝謝。 ,我已經有了數據庫,所以我必須以某種方式執行First_Name和Last_Name的連接。我正在使用QueryExtender的CustomExpression選項,但迄今尚未能使其工作。 – davemackey 2011-04-06 18:55:02