实体框架不提取具有关系的行



我在SQL Server中有这两个表:

表#1Order:

OrderID    
Name
IsFetched

表#2OrderRows:

OrderRowId    
OrderID    
Name
Adress

这些表在OrderID列上有一种关系:一个订单可以有多个OrderRows,它们通过OrderID键连接到Order表。

但是,当我使用Entity Framework 6查询数据库时,我没有得到属于OrderOrderRows,它们总是空的,为什么?OrderRows不是应该自动填充的吗?

using (var db = new MyDbEntities())
{
db.Configuration.LazyLoadingEnabled = false;
try
{
var list = db.Order.Where(x => x.IsFetched == null || x.IsFetched == false).ToList();
return list;
}
catch (Exception ex)
{
return null;
}
}

您必须通过添加.Include(x => x.OrderRows)来包含相关实体


using (var db = new MyDbEntities())
{
db.Configuration.LazyLoadingEnabled = false;
try
{
var list = 
db.Order
.Include(x => x.OrderRows)
.Where(x => x.IsFetched == null || x.IsFetched == false)
.ToList();
return list;
}
catch (Exception ex)
{
return null;
}
}

最新更新