c# - LINQ 查询仅使用 Entity Framework 计算的值

标签 c# entity-framework linq-to-entities

构造仅包含行计数和存在性检查的查询的最佳方法是什么?这是我目前所做的:

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.Wildebeests,并且会产生相同的查询。有没有办法避免未使用的表引用?

最佳答案

想到的最“明智”的选择是创建一个存储过程来计算从 EF 调用的两个值。每当您希望在单个数据库往返中“做多件事”时,这都是一个选项。

关于c# - LINQ 查询仅使用 Entity Framework 计算的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21318712/

相关文章:

c# - 如何删除 linq to Entity Framework 中的相关对象

c# - LINQ to Entities/LINQ to SQL : switching from server (queryable) to client (enumerable) in the middle of a query comprehension?

c# - 在 C# 中迭代​​ JSON 对象(不是数组)

c# - 从 IdentityUser 继承我在 UserManager<User> 上收到错误

c# - 使用字符串中存在的分隔符拆分字符串

c# - 为什么 WebApi Controller 运行后没有人处理 DbContext?

asp.net-mvc - MVC3继承问题

sql - 对实体进行分组和求和

c# - 在文件流传输中实现停止和重新启动 - 如何实现? C# 网络

c# - 如何避免在布局页面中使用 "using System.Web.Optimization"