2012-04-25 34 views
1

这是我的工作代码:制作通用查询,怎么样?

var queryString = "SELECT VALUE c " + 
        "FROM EMI_ERPContext.Customer AS c " + 
        "WHERE c.FirstName='Emanuel'"; 
ObjectQuery<Customer> customers = ((IObjectContextAdapter)context).ObjectContext.CreateQuery<Customer>(queryString); 

此代码工作正常。 但我希望能够为任何类型提供此功能。目前它仅适用于客户。制作queryString动态很简单,但我怎么称呼这条线:?

ObjectQuery<ANYTYPE> anytypeObjects = ((IObjectContextAdapter)context).ObjectContext.CreateQuery<ANYTYPE>(queryString); 

有没有办法调用CreateQuery,而无需给出具体的类型或有没有简单的方法,我可以使这个工作?感谢您的任何建议!

回答

2

我做到了..,使用

ObjectQuery<dynamic> anytypeObjects = ((IObjectContextAdapter)context).ObjectContext.CreateQuery<dynamic>(queryString); 

工作正常!