EntityFramework Linq查询上缺少Include方法

时间:2019-02-27 13:52:56

标签: c# entity-framework linq

模型

public class CreamModel
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public decimal Price { get; set; }
    public int? Type_Id { get; set; }

    public CreamTypeModel CreamType { get; set; }
}

public class CreamTypeModel
{
    [Key]
    public int Id { get; set; }
    public string Type { get; set; }
}

DbContext

internal class CreamEFDbContext : DbContext
{
    public DbSet<CreamTypeModel> CreamTypeModels { get; set; }
    public DbSet<CreamModel> CreamModels { get; set; }
}

SQL查询

enter code here

第二张表

enter image description here

在我的存储库中,我想使用Include方法获取面霜列表及其类型,但缺少该列表。

在我的上一个项目中,相同的方法可用并且可以正常工作,但是现在还没有。

public class CreamRepository : ICreamRepository
{
    private CreamEFDbContext context = new CreamEFDbContext();

    public IEnumerable<CreamModel> CreamList
    {
        get { return context.CreamModels.Include(x => x.CreamType); }//have red line
    }
}

以下图像显示了我在当前项目中与Include方法起作用的旧项目中所拥有的内容:

当前项目

enter image description here

上一个项目

enter image description here

1 个答案:

答案 0 :(得分:0)

Include是EntityFramework DLL中QueryableExtensions类的扩展方法。因此,您需要向System.Data.Entity添加using语句:

using System.Data.Entity;