在使用Linq EF时,有很多selectMany语句是不是一种糟糕的做法
本文关键字:一种 是不是 语句 EF Linq selectMany | 更新日期: 2023-09-27 18:20:37
我有以下查询,它有效,但似乎是错误的,可以缩短吗?以下内容对性能也不好吗?
var projectBylineIDs = _neptuneUow.Projects.FindWhere(p => p.ID == 81)
.SelectMany(p => p.Batches)
.SelectMany(i => i.Items)
.SelectMany(b => b.ByLines)
.Select(b => b.ID)
.ToList();
不要在这里看到糟糕的做法,如果你需要,就去做吧。
性能怎么样。性能是非常敏感的上下文主题。这取决于你的代码执行的上下文,它可能是非常有害的执行非常甜蜜。
可能会问自己的问题是:你真的需要所有这些信息吗?在你需要按顺序变平之后?或者只需在服务器上运行一些StoredProcedure,并准备好显示结果。
希望这能有所帮助。