使用Linq EF时有很多selectMany语句是不好的做法吗?

时间:2013-07-02 10:37:28

标签: c# linq entity-framework

我有以下查询,但它似乎有误,可以缩短吗?以下表现也不好?

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();

1 个答案:

答案 0 :(得分:0)

不要在这里看到不好的做法,如果你需要这个,那就去做吧。

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

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

希望这有帮助。

相关问题