0
我需要調用泛型方法過濾器才能在實體框架數據庫表中執行選擇。檢索通用類型以調用泛型方法
IEnumerable<T> x = Filter<T>(_cust, conditions, value_conditions);
T可以是我的數據庫的任何表。 使用反射我可以執行篩選方法:
MethodInfo methodFilter = typeof(SearchTool).GetMethod("Filter");
mI = methodFilter.MakeGenericMethod(eObject);
IEnumerable<T> x = mI.Invoke(this, new object[] { allElements, conditions, value_conditions });
「SearchTool」是其中的濾波器功能聲明的名稱空間的名稱。 爲了在過濾器的通用方法來定義T,我聲明的參數eObject這是定義如下的Type對象:
eObject = Type.GetType("SearchApplication.Customers");
「SearchApplication」是命名空間,其中命名的數據庫表「客戶」是定義。客戶是一個EntityObject。
問題是:是否有任何其他可能性來檢索EF EntityObject的類型而不是像「SearchApplication.Customers」那樣聲明一個字符串?
在此先感謝 保羅
是的,OK,你說得對!但是如何從實例中檢索它,例如northwindEntities.Customers。(其他)?請注意,northwindEntities是ObjectContext – rebe21
@ rebe21:在這種情況下,您可以使用'GetType()':'northwindEntities.Customers.GetType();' –
嗯......實際上沒有....它返回一個ObjectSet類型 –
rebe21