2012-11-07 134 views
4

我遇到了一个问题,在一个搜索中的Where子句,在我的原始版本EF4中我可以添加一个带有2个参数的Where子句,where子句(字符串谓词)和一个ObjectParameter列表等作为实体框架5从4升级

var query = context.entities.Where(WhereClause.ToString(), Params.ToArray()); 

自从我升级到EF5我似乎没有这个选项我错过了什么吗?

这最初用于构建动态where子句,如“it.entity_id = @entity_id”,然后将变量值保存在ObjectParameter中。

我希望我不必重写所有已经建成这样的搜索,所以任何援助将不胜感激。

干杯

回答

1

为了使用ESQL用的DbContext,你将不得不“下拉”到ObjectContext的。

var objectContext = ((IObjectContextAdapter)context).ObjectContext; 
var query = objectContext.CreateQuery<MyEntity>(
    WhereClause.ToString(), 
    Params.ToArray()); 
+0

不错的一个布鲁斯 干杯 – user1714591