0

エンティティ フレームワーク 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 など.

このソリューションを実装することは可能ですか?

4

0 に答える 0