【问题标题】:Entity Framework 5 upgrade from 4Entity Framework 5 从 4 升级
【发布时间】:2012-11-08 06:56:05
【问题描述】:

我在搜索时遇到了 Where 子句的问题,在我的原始版本 EF4 中,我可以添加一个带有 2 个参数的 Where 子句,即 where 子句(字符串谓词)和 ObjectParameter 列表,例如

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

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

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

我希望我不必重写以这种方式构建的所有搜索,因此非常感谢任何帮助。

干杯

【问题讨论】:

    标签: c# linq entity-framework-4 entity-framework-5


    【解决方案1】:

    为了将 ESQL 与 DbContext 一起使用,您必须“下拉”到 ObjectContext。

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

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多