是否可以将Statistics.Sum(s => s.Conversions)
linq查询设为Linq to SQL
而不是Linq to Object
,如下面的代码所示。每当我访问TotalConversions
属性时,从数据库下载整个Statistics
表,然后在本地执行SUM linq。我想在数据库服务器中以SQL作为。
public class User : Entity
{
public int Id { get; set; }
public string Email { get; set; }
public virtual ICollection<Statistic> Statistics { get; set; }
[NotMapped]
public int TotalConversions
{
get
{
return Statistics.Sum(s => s.Conversions);
}
}
}
答案 0 :(得分:0)
是的,但您需要引用DbContext。这是实体持久性无知的成本之一。
然后该属性看起来像:
return db.Users.Single(s => s.Id = this.Id).Statistics.Sum(s => s.Conversions);