0
我正在嘗試使用實體框架做一些動態代碼。我有一個模型(Model1)和一個表格(Test1),這很簡單。我想要做的是用程序名稱編程訪問模型Test1,以便在不同的任務中使用它。我一直在尋找在谷歌,我發現Finding entities by key in entity framework但它不工作,或者我沒有任何想法...通過實體框架中的字符串獲取實體
當我運行這段代碼它打破上試圖設置entityProperty
Model1Container m = new Model1Container();
PropertyInfo entityProperty = m.GetType().GetProperties().Where(t => t.Name == "Test1").Single();
var baseQuery = (IQueryable<IIdentity>)entityProperty.GetValue(m, null);
對不起,解釋。
任何想法?
我想我錯了解釋..我想是獲得一個實體的編程實例,我在模型。這樣,我可以使用字符串來獲取實體,而不用寫m.Test1 ....,而不是我想要類似於m [「Test1」]的東西(不是那種方式,但類似)。 Thx – kartGIS
您可以創建實體的部分類,甚至通過元數據在字段上添加[必需]或其他屬性:http://stackoverflow.com/questions/14059455/adding-validation-attributes-with-an-entity-framework-數據模型一旦你這樣做,你可以讓每個實體從IEntity派生並定義IEntity。然後你可以做Assembly Assembly = Assembly.Load(「Testy20161006」); 類型t = assembly.GetType(「Testy20161006.Controllers。」+「Test」); IEntity entity =(Object)Activator.CreateInstance(t);信貸John Skeet – kblau
Thx @kblau!我這樣做了 – kartGIS