0

我需要调用通用方法过滤器才能在实体框架数据库表中执行选择。

IEnumerable<T> x = Filter<T>(_cust, conditions, value_conditions);

T 可以是我的数据库的任何表。使用反射我可以执行 Filter 方法:

MethodInfo methodFilter = typeof(SearchTool).GetMethod("Filter");
mI = methodFilter.MakeGenericMethod(eObject);
IEnumerable<T> x = mI.Invoke(this, new object[] { allElements, conditions, value_conditions });

SearchTool ”是声明过滤器函数的命名空间的名称。为了在 Filter 泛型方法中定义 T,我声明了参数 eObject,它是一个 Type 对象,定义如下:

eObject = Type.GetType("SearchApplication.Customers");

SearchApplication ”是定义名为“Customers”的数据库表的命名空间。客户是一个实体对象。

问题是:是否有任何其他可能性来检索 EF EntityObject 的类型而不是声明像“SearchApplication.Customers”这样的字符串?

提前感谢保罗

4

1 回答 1

0

您可以使用typeof

var type = typeof(SearchApplication.Customers);
于 2013-07-11T07:28:37.517 回答