だから私は単純なプロジェクト管理システムをやっていて、LINQ の問題に遭遇しました。これはおそらく一般的です。プロジェクト タスクはテンプレートに基づいています (データベース内のタスクとテーブルを共有します)。プロジェクト タスクには、値がない限り、既定でタスク テンプレートから継承されるいくつかのフィールドがあります。たとえば、UnitPrice が 0 の ProjectTask レコードは、ProjectTask テンプレート レコードを参照して実際の価格を取得します。
これを LINQ で実装するにはどうすればよいですか? ObjectDataSource を実行することを考えましたが、それは他のすべてのデータ (LINQ で) を実行する方法から離れています。以下のようなコードで派生クラスを作ってみたのですが、ORMデザイナーで継承を設定してもLinqDataSourceに表示されません。
グーグルで調べましたが、良いモデルが見つからないようです。何かご意見は?いつもありがとう。
public class ProjectTaskWithInheritance : ProjectTask
{
public new decimal UnitPrice
{
get
{
if (IsServiceOverride)
if (base.UnitPrice != 0)
return base.UnitPrice;
return base.TaskTemplateRecord.UnitPrice;
}
set { base.UnitPrice = value; }
}
}