c# - 在 Linq 中按问题分组

标签 c# .net linq

我在使用 LINQ 时遇到问题,我希望有人能向我解释原因。我有这段代码:

        List<Spec> specs = GetSpecs(userObject, seasonID, partnershipID);

        var query = from s in specs
                    where (DateTime)s.FinalApprovedDate != null
                    && !((DateTime)s.FinalApprovedDate).Equals(DateTime.Parse("1/1/1900 12:00:00 AM"))
                    group s by s.ForCompanyID into g 
                    select new
                    {
                        Vendor = g.Key,
                        Avg = g.Average(s.FinalApprovedDate.Subtract((DateTime)s.Created_Date).Days)
                    };

我想从此查询中检索的是每个公司的创建日期和最终批准日期之间的平均天数差,由 ForCompanyID 表示,其中日期不为空或“1/1/1900”。我的问题是我不知道如何从这个查询中获取这些数据。从我读过的内容来看,我相信这是正确的语法,但我得到一个“名称‘s’在新的 s 值的当前上下文中不存在。我也在这里用 g 尝试过这个,但那不存在也有值(value)观。有什么想法吗?

最佳答案

尝试将倒数第二行更改为:

Avg = g.Average(s => s.FinalApprovedDate.Subtract((DateTime)s.Created_Date).Days)

关于c# - 在 Linq 中按问题分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/883108/

相关文章:

c# - MVC5自定义 View 模型,获取更改,更新数据库

c# - 轨迹栏上的值

c# - 捕捉/粘性 WPF 窗口

.net - Interlocked.Read/Interlocked.Exchange 在 Mono 上比 .NET 慢很多吗?

c# - 计算系列中的超出数量

c# - 在 Entity Framework 中从数据库加载 N 条记录

c# - 与解析枚举混淆

c# - 为什么将 Application_Start 设置为静态方法(FxCopAnalyzer 的建议)会导致 404 错误?

c# - 集成测试详细

c# - 表达式树中的 ArrayAccess 与 ArrayIndex