我有以下查询,但它似乎有误,可以缩短吗?以下表现也不好?
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();
答案 0 :(得分:0)
不要在这里看到不好的做法,如果你需要这个,那就去做吧。
性能怎么样?性能是极其上下文敏感的主题。 取决于你的代码执行的上下文,它可能是非常有害的执行非常甜蜜。
可能会问自己的问题:你是否真的需要所有这些信息,在你需要按顺序推平之后?或者只是在服务器上运行一些 StoredProcedure ,并准备好显示结果。
希望这有帮助。