如何根据另一个表中的quantity
范围总计date
?
var items = entity.ItemHeaders.Where(x => x.date >= _dateFrom && x.date <= dateTo);
var tQty = entity.ItemContents.Where(x => x.Warehouse == dto.Warehouse).Sum(x => x.Quantity);
问题是我不知道如何连接它们。
答案 0 :(得分:1)
通过HeaderNumber加入实体并总计总数:
var total = (from header in entity.ItemHeaders
from content in entity.ItemContents
where header.date >= _dateFrom && header.date <= dateTo
&& content.Warehouse == dto.Warehouse
&& header.ID = content.HeaderNumber
select content.Quantity).Sum();
假设您正在使用Entity Framework,如果您在ItemContent中为ItemHeader定义了导航属性,则会更容易。 e.g:
public virtual ItemHeader Header {get; set;}
然后查询可能是:
var total = entity.ItemContents
.Where(x=> x.Header.date >= _dateFrom && x.Header.date <= dateTo
&& x.Warehouse == dto.Warehouse)
.Sum(x => x.Quantity);