我使用LINQ查询
获得ProposalNumber
的总和
(from item in context.Target.Transaction
where item.Month >= detailsDaily.Month && item.Month <= parameter.Month
select item.ProposalNumber).Sum();
现在我想在上个月之间将值ProposalNumber
设置为0,因为我用于选择。请建议LINQ查询应该是什么?
答案 0 :(得分:0)
如果您有以下数据列表:
var data = context.Target.Transaction
.Where(m => m.Month >= detailsDaily.Month
&& m.Month <= parameter.Month)
.ToList();
然后你可以找到像:
var sum = data.Sum(m => m.ProposalNumber);
您可以将ProposalNumber
设置为0,如:
data.ForEach(m => m.ProposalNumber = 0);
注意:如果您正在使用Entity Framework(正如我想的那样),如果您有太多行,那么加载所有数据可能会很昂贵。如果您没有大量数据并且选择这种方式来更新数据,则必须在设置值后调用context.SaveChanges()
进行更改。您还应确保context.Configurations.AutoDetectChangesEnabled
设置为true。我建议在这种情况下使用Raw SQL queries而不是此选项。