C# 如何在EF中包含子集?

C# 如何在EF中包含子集?,c#,entity-framework,C#,Entity Framework,我编写了一个小函数,返回一个通用的IQueryable对象。 代码如下: public IQueryable<T> GetList<T>() where T : class { var result = dbContext.CreateObjectSet<T>(); return result; } public IQueryable GetList(),其中T:class { var result=d

我编写了一个小函数,返回一个通用的IQueryable对象。 代码如下:

    public IQueryable<T> GetList<T>() where T : class
    {
        var result = dbContext.CreateObjectSet<T>();
        return result;
    }
public IQueryable GetList(),其中T:class
{
var result=dbContext.CreateObjectSet();
返回结果;
}
我从数据库中得到了一个内容表。它已转换为内容对象。内容对象有一个称为状态的相关子集。如何将其包含在查询中

以下是我目前的职能:

    public IQueryable<Content> GetContentList()
    {
        var contentList = GetList<Content>();
        return contentList;
    }
public IQueryable GetContentList()
{
var contentList=GetList();
返回内容列表;
}
它可以工作,但是不包括状态子集。我的问题是如何包含它


非常感谢。

我不熟悉
CreateObjectSet
。难道您没有一个
ContentSet
可以使用LINQ to实体进行查询吗

var result = dbContext.ContentSet.Include("States");

在我的示例中,
Include
方法就是显式地包含您的状态的方法。

同意
.Include
是一种方法,但是很少有理由不使用强类型等价物:
dbContext.ContentSet.Include(c=>c.States)
@hvd:在哪里定义的?我只看到字符串版本@@JamesManning它是一个扩展方法
System.Data.Entity.DbExtensions.Include
。我认为它可以从EF4.1开始使用,但我可能弄错了。@hvd:我从未听说过这种扩展方法,但如果我不再需要使用字符串版本,我真的很高兴(+1表示注释):)