我有3个表,团队(id,name)玩家(id,teamid,name)playerdetail(id,playerid,height,weight),团队和玩家之间的关系是一对多,玩家和玩家之间的关系detail是一比一。
我想使用预先加载来加载所有信息并打印出高于2米的玩家的名字。
我已经写了下面的代码,
using (var context = new TestEntities())
{
var query = from t in context.Teams.Include("Players.PlayerDetails") select t;
foreach (var v in query)
{
Console.WriteLine(v.Players.Any(x => x.PlayerDetails.Any(y => y.Height > 200)));
}
Console.Read();
}
它只打印出真假,如何修改它并打印出播放器名称? 提前致谢
答案 0 :(得分:1)
为什么不直接通过context.Players
查询玩家?
using (var context = new TestEntities())
{
var query = context.Players.Include("Team").Include("PlayerDetails")
.Where(p => p.Height > 200);
foreach (var v in query)
{
Console.WriteLine(v.Name);
}
Console.Read();
}