Iqueryable不能调用Include方法

时间:2014-11-18 03:12:25

标签: c# linq dynamic entity iqueryable

我正在使用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<object>转换为ObjectQuery<object>但转化后会产生null

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

非常感谢任何建议!

1 个答案:

答案 0 :(得分:2)

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

管理将其包含在文件顶部:

using System.Data.Entity