【问题标题】:Iqueryable can't call Include methodIqueryable 不能调用 Include 方法
【发布时间】:2015-01-15 03:33:19
【问题描述】:

我使用IQueryableReflection 动态选择表:

IQueryable<object> query = typeof(GWork).GetProperty(tblName).GetValue(context, null) as IQueryable<object>;

if (!string.IsNullOrEmpty(relations) && query != null)
{
    relatedEntities = relations.Split(','); 

    foreach (string relatedEntity in relatedEntities)
    {
        query.Include(relatedEntity);                        
    }
}

我收到错误消息:IQueryable 不包含“包含”的定义,也没有扩展方法“包含”虽然我已包含 System.Data.Entity

我尝试将IQueryable&lt;object&gt; 转换为ObjectQuery&lt;object&gt;,但转换将导致null

这是.Net Framework 版本问题吗?我的项目目前使用的是4.0版本

非常感谢任何建议!

【问题讨论】:

    标签: c# linq dynamic entity iqueryable


    【解决方案1】:

    这是一个编译错误,因为它无法静态验证该方法是否存在,此外,Include() 是一个扩展方法。您必须引用此方法所属的命名空间。

    设法将其包含在文件顶部:

    using System.Data.Entity
    

    【讨论】:

    • 谢谢,但我确实包含了它,它在我的问题中
    • 您的项目中是否引用了EntityFramework.dll?
    • 另外,请记住 Include() 返回一个新的 Queryable。它不会修改原始对象。
    • 完美!我没有在我的项目中引用 EntityFramework。多么愚蠢!非常感谢!
    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 2011-09-22
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    相关资源
    最近更新 更多