シナリオ: レポート生成を処理するプログラムを作成しています。
レポートをデータベースに保存し、EF モデルにマップしています。いくつかの非データベース フィールドがあります (つまり、一部のフィールドは、データベース内の他のフィールドに基づいて自動計算されます)。DB にのみマップする 1 つのクラスと、その情報を取得し、さらに他の計算フィールドを持つ別のクラスを用意することは理にかなっていますか?
つまり、codefirst データベースと対話するサンプル クラスは次のようになります。
public class Report{
public int CategoryOneSeverity {get; set;}
public int CategoryTwoSeverity {get;set;}
public string Title {get;set;}
}
次のような別のクラスを作成することは理にかなっていますか?
public class ReportModel{
public int CategoryOneSeverity;
public int CategoryTwoSeverity;
public string Title;
public int RiskRating{
get{ return CategoryOneSeverity + CategoryTwoSeverity; }
}
}
または、RiskRating プロパティを EF モデルに含める必要があります。