Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#实体框架从嵌套对象返回列表_C#_Entity Framework_Linq - Fatal编程技术网

C#实体框架从嵌套对象返回列表

C#实体框架从嵌套对象返回列表,c#,entity-framework,linq,C#,Entity Framework,Linq,如何使用Include()从db返回doc中的WagonList 命名空间控制台应用程序1 { 班级计划 { 静态void Main(字符串[]参数) { 文档=新文档(); 文件Id=73243; document.Name=“SendingForm”; 文件。货车=新货车 { Depos=“Main”, Id=1, Street=“WestSide”, WagonList=新列表 { 新货车{Code=“MP”,Destination=“China”,Id=1,编号=90543}, 新货车

如何使用
Include()
db
返回
doc
中的
WagonList

命名空间控制台应用程序1
{
班级计划
{
静态void Main(字符串[]参数)
{
文档=新文档();
文件Id=73243;
document.Name=“SendingForm”;
文件。货车=新货车
{
Depos=“Main”,
Id=1,
Street=“WestSide”,
WagonList=新列表
{ 
新货车{Code=“MP”,Destination=“China”,Id=1,编号=90543},
新货车{Code=“MO”,Destination=“曼谷”,Id=2,编号=90543},
新货车{Code=“MI”,Destination=“Burma”,Id=3,编号=90543}
}
};
使用(var db=new SoccerContext())
{
//db.documents.Add(文件);
//db.SaveChanges();
Document doc=db.documents.Include(“货车”).FirstOrDefault();
}
}
}
公共类文档
{
[关键]
公共int Id{get;set;}
公共字符串名称{get;set;}
公共马车{get;set;}
}
公车
{
[关键]
公共int Id{get;set;}
公共字符串存储{get;set;}
公共字符串Street{get;set;}
公共列表WagoList{get;set;}
}
公车
{
[关键]
公共int Id{get;set;}
公共字符串代码{get;set;}
公共整数{get;set;}
公共字符串目标{get;set;}
}
类SoccerContext:DbContext
{
公共SoccerContext()
:base(“DocumentDB”)
{ }
公共数据库集文档{get;set;}
}
}

对于
单个文档对象
,其直接含义是:

var wagonList = doc.Wagons.WagonList
对于
文档列表
执行此操作(将平展文档层次结构中的货车列表):


到底是什么不起作用
Document doc=db.documents.Include(x=>x.WagonList).FirstOrDefault()应该可以工作。即使您没有使用
Include
,当您访问WagoList属性时,EF也会延迟加载wagons。
var wagonList = doc.Wagons.WagonList
var wagonList = docList.SelectMany(doc => doc.Wagons.WagonList);