エンティティ フレームワーク 6 コードの最初のパターンを実装する Web アプリケーションを開発しています。私のプロジェクトでは、何らかの理由で TPH、TPT、および TPC パターンを使用してテーブルの継承を既に行っていますが、現在、次のような問題があります。
1)いくつかのプロパティを持つベーステーブル table 1 を作成しました。これらのいくつかは、継承タイプを識別するための「キー」列です
public class Table1 : BaseEntity
{
public Table1()
: base()
{
}
public int Table1Id { get; set; }
public int ItemId { get; set; }
public string TableName { get; set; }
public string ColumnName { get; set; }
public string Value { get; set; }
}
この例のように、独立したエンティティのいくつかのプロパティにこのベース テーブルを実装する必要があります。
public class OtherEntity {
public OtherEntity()
: base()
{
...
}
...
public virtual ICollection<Table1> Table1Ref1 { get; set; }
public virtual ICollection<Table1> Table1Ref2 { get; set; }
public virtual ICollection<Table1> Table1Ref3 { get; set; }
}
public class OtherEntity1 {
public OtherEntity1()
: base()
{
...
}
...
public virtual ICollection<Table1> Table1Ref1 { get; set; }
public virtual ICollection<Table1> Table1Ref2 { get; set; }
public virtual ICollection<Table1> Table1Ref3 { get; set; }
}
理想的な実装は、すべてのエンティティに同じクラス (エンティティ) とテーブルを使用でき、マッピングで指定することです。エンティティ キー値で。同じ TableName と ItemId および値 'Ref2' の ColumnName を持つ列 Table1Ref2 など.
このソリューションを実装することは可能ですか?