在使用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();

在使用Linq EF时,有很多selectMany语句是不是一种糟糕的做法

不要在这里看到糟糕的做法,如果你需要,就去做吧。

性能怎么样。性能是非常敏感的上下文主题。这取决于你的代码执行的上下文,它可能是非常有害的执行非常甜蜜。

可能会问自己的问题是:你真的需要所有这些信息吗?在你需要按顺序变平之后?或者只需在服务器上运行一些StoredProcedure,并准备好显示结果。

希望这能有所帮助。