我正在使用實體框架/流利的API,我是他們新來的。在我的場景中,我有以下三個類。什麼是使用實體框架實現計算字段的最優化方式?
public class Review
{
public int Id { get; private set; }
public float AverageRating { get; private set; } //Computed Field
public int TotalLikes { get; private set; } //Computed Field
public List<Rating> Ratings { get; private set;}
public List<Like> Likes { get; private set;}
}
public class Rating
{
public int CustomerId { get; private set; }
public int ReviewId { get; private set; }
public int Rating { get; set; }
}
public class Like
{
public int CustomerId { get; private set; }
public int ReviewId { get; private set; }
}
我對所有三個類及其關係都有Fluent映射。在評論課上,我有兩個計算字段。我可以填充子集合的計算字段(評級和喜歡)。在那種情況下,在Linq查詢中,我必須包含兩個子集合,我認爲這是一個性能密集型操作。或者我也可以使用數據庫中的計算列。但我不喜歡把任何東西放在數據庫端。那麼,在不加載子集合或使用數據庫解決方案的情況下填充計算字段(主要是Count,Average等聚合操作)的最佳方式是什麼?