首页 > 解决方案 > 如何使用 LinQ To Entity 加入

问题描述

我有这个代码

    var value = (from dc in _context.ContractDetails
                   where dc.EmployeeID == id
                    select dc.Amount);
    return value;
}

是否可以接受 Value.Sum();

标签: c#entity-frameworklinq-to-entities

解决方案


你想返回它看起来的总和。与其让查询成为小数,不如让它成为它想要的(var,它真的是IEnumerable<decimal>)。然后你可以返回一个聚合。以总和为例

var query = from emp in Employees
            join cd in ContractDetails
            on emp.EmployeeID equals cd.EmployeeID
            where cd.EmployeeID == id
            select cd.Amount;
return query.Sum();

如果仅此而已,那么我也觉得您根本不需要加入,而且这样做会更简单

var query = from cd in ContractDetails
            where cd.EmployeeID == id
            select cd.Amount;
return query.Sum();

...除非您使用联接来测试员工表中是否存在员工作为条件。


推荐阅读