我正在使用帶有POCO對象的新EntityFramework 4.1以及DataAnnotation框架。使用POCO實體框架時丟失數據註釋4
當EntityFramework需要創建代理類(例如,延遲加載虛擬屬性)時,我的所有數據註釋都會丟失。有沒有什麼方法可以讓我的ModelMetaData來自被代理的類,而不是代理類?
我知道我可以選擇禁用代理創建(context.Configuration.ProxyCreationEnabled
),但這似乎是一個不好的答案。這應該是已經解決的問題,我想。
下面是一些示例代碼:
public class Person
{
[Required, Display(Name = "Display That Name")]
public string DisplayName { get; set; }
}
然後在視圖中的我的模型元數據類型是:Person_9C92B92D56F6F4F0FB1686526D585438A05323CC72E457C2152796E8866297E1 (FullName = "System.Data.Entity.DynamicProxies.Person_9C92B92D56F6F4F0FB1686526D585438A05323CC72E457C2152796E8866297E1"})
,我的元數據消失了,顯示名稱爲「顯示名稱」而不是「顯示呈現出名稱」。
有什麼建議嗎?
要確定一個類型代理它的'小'更容易使用ObjectContext.GetObjectType。 – jamie
@jamie謝謝,我剛剛編輯使用您的建議! –