【发布时间】:2017-11-05 00:29:46
【问题描述】:
我使用 EntityFrameworkCore.SQLite v1.1.3,VS 2015,制作简单的 WPF 应用程序,.Net 4.6 People 和 Orders 表通过 OrdersToPeople 表关联为“多对多”我的数据库。我已经使用 SQLite 工具制作了 dbContext 类。
我使用此代码检查加载的数据:
var list = myDbContext.People
.Include(t => t.OrdersToPeople);
foreach (var element in list)
{
var c = element.OrdersToPeople.Count;
//c is always 0. Why?
}
当我以相同的方式加载 OrdersToPeople 或 Orders 表时
var list = myDbContext.OrdersToPeople
或
var list = myDbContext.Orders
,我看到了数据。当我进行 SQL 查询时,它会返回正确的数据。
为什么Include 不加载OrdersToPeople?
附: OrdersToPeople 字段为 virtual。
public partial class People
{
//...fields...
public virtual ICollection<OrdersToPeople> OrdersToPeople { get; set; }
public People()
{
OrdersToPeople = new HashSet<OrdersToPeople>();
}
}
public partial class OrdersToPeople
{
public long Id{ get; set; }
public long PeopleId { get; set; }
public long OrderId { get; set; }
public virtual People People { get; set; }
public virtual Orders Orders { get; set; }
}
【问题讨论】:
-
请发布您提取数据的方法。
-
没有足够的信息来查看您面临的问题。
标签: c# entity-framework sqlite include entity-framework-core