[英]LINQ query for just computed values with Entity Framework
构造仅由行数和存在检查组成的查询的最佳方法是什么? 这是我目前正在做的事情:
var fruitSummary = (
from _ in db.Apples
select new {
GreenAppleCount = db.Apples.Count(a => a.Color == "Green"),
Yuck = db.Bananas.Any(b => b.Age > 10)
}).First();
这个结构满足了我对数据库进行一次调用的主要目标,但是似乎应该有一种更简洁的方式来表达它。 请注意,在from
子句_ in db.Apples
中的_ in db.Apples
未使用。 _ in db.Wildebeests
可能是_ in db.Wildebeests
,并且将导致相同的查询。 有办法避免未使用的表引用吗?
我想到的最“明智”的选择是创建一个存储过程,该过程计算从EF调用的两个值。 任何时候您都希望在一次数据库往返中“做多件事”时,可以选择此选项。
关于查询的最佳书写方式是
var output = Enumerable.Range(0, 1).Select(o =>
new {
GreenAppleCount = db.Apples.Count(a => a.Color == "Green"),
Yuck = db.Bananas.Any(b => b.Age > 10
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.