別のレストランとレビュー テーブルを持つレストラン レビュー アプリケーションがあります。レストランの ID に基づいて Restaurant オブジェクトを渡すメソッドを持つ MVC WebAPI を作成しました。
返されたオブジェクトの一部として、Reviews テーブルに入力された評価値の合計をレストラン ID に入力されたレビューの合計数で割った平均評価値を追加したいと思います。
値が小数点以下 1 桁の形式であると便利です。
次のコードを使用して、Reviews テーブルから平均値 (小数点以下の桁数なし) を取得できます。
var sum = (from a in db.Reviews
where a.ReviewsRestaurantID.Equals(id)
select a.ReviewsRating).Sum();
var count = (from a in db.Reviews
where a.ReviewsRestaurantID.Equals(id)
select a.ReviewsRating).Count();
decimal average = sum / count;
ID メソッドでレストランを返すために使用するクエリに値を追加する方法がわかりません (pls は以下を参照してください)。カスタム平均評価値を以下の方法に追加するのを手伝ってもらえますか、またはレビューテーブルに結合して値をより効率的に計算する方法はありますか?
public IQueryable<Restaurant> GetRestaurantByID(int id)
{
var query = from a in db.Restaurants
where a.RestaurantID.Equals(id)
select a;
return query;
}