我需要调用泛型方法过滤器,以便在Entity Framework数据库表中执行选择。
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函数的命名空间的名称。 为了在Filter泛型方法中定义T,我声明了参数eObject,它是一个Type对象,定义如下:
eObject = Type.GetType("SearchApplication.Customers");
“ SearchApplication ”是定义名为“Customers”的数据库表的命名空间。客户是一个EntityObject。
问题是:是否还有其他可能性来检索EF EntityObject的类型,而不是声明像“SearchApplication.Customers”这样的字符串??
提前致谢 保罗
答案 0 :(得分:0)
您可以使用typeof
:
var type = typeof(SearchApplication.Customers);