我在使用 Entity Framework 的导航属性总和方面遇到问题
这是我的示例类
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ObservableCollection<Call> Calls { get; set; }
[NotMapped]
public decimal TotalCallDuration { get { return Calls.Sum(c => c.Value); } }
}
public class Call
{
public int Id { get; set; }
public int CustomerID { get; set; }
public virtual Customer Customer { get; set; }
public decimal Value { get; set; }
public DateTime Date { get; set; }
}
这很有效,但是当我有数百条记录时,它非常慢
如何才能使其更快但又不丢失功能?
谢谢
最佳答案
你想做的是:
customer.TotalCallDuration = context.Call.Sum(x => x.Value).Where(x => x.CustomerID == customer.Id);
关于entity-framework - Entity Framework 中相关属性的求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16095194/