【发布时间】:2016-02-12 18:12:08
【问题描述】:
我不太确定我在这里缺少什么。这似乎很简单,但由于某种原因,Category 总是以 null 的形式返回,我在使用 Entity Framework 时总是遇到这些问题。我想弄清楚我做错了什么。产品 ID、产品名称和类别 ID 有数据,但类别始终为空。我正在尝试拉回产品列表以及与产品相关联的类别。
任何帮助将不胜感激。
使用臭名昭著的 Northwind 数据库
[Table("Products")]
public class Products
{
[Key]
public int ProductID { get; set; }
public string ProductName { get; set; }
public int CategoryID { get; set; }
[ForeignKey("CategoryID")]
public virtual Categories Category { get; set; }
}
[Table("Categories")]
public class Categories
{
[Key]
public int CategoryID { get; set; }
public string CategoryName { get; set; }
public virtual ICollection<Products> Product { get; set; }
}
DbContext(相关代码)
public DbSet<Categories> Categories { get; set; }
public DbSet<Products> Products { get; set; }
这是从我的存储库返回产品的代码
public IEnumerable<Products> GetAll()
{
return _db.Products.AsEnumerable();
}
【问题讨论】:
-
您能否提供您使用的用于拉回空类别的查询?
-
@MatthewVerstraete 添加了。
-
return _db.Products.Include("Categories").AsEnumerable();
-
在顶部使用 System.Data.Entity 导入
-
使用来自 EntityFramework.Core 的命名空间 Microsoft.Data.Entity 并更改查询 Products.Include(x => x.Category)
标签: c# asp.net-mvc entity-framework