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