2

DB には多くのテーブルがあり、それらすべてに共通のデータを保持する必要があるテーブルがあります。EntityFramework CodeFirst を使用してこれらのテーブルをマップし、通常のクエリを使用してそのようなデータを Lazy または Eager ロードできるようにするにはどうすればよいですか?

これが私が意味することです:

エンティティ:

public class Table1 
{
  [Key]
  public int Id { get; set; }

  ...etc data
}

public class Table2 
{
  [Key]
  public Guid Id { get; set; }

  ...etc data
}

public class Table3 
{
  [Key]
  public string Id { get; set; }

  ...etc data
}

そして、それらすべてに共通のデータを含むテーブル:

public class CommonDataTable
{
   [Key]
   public Guid Id { get; set; }
}

通常、次のようなテーブルを作成してこれをマッピングします。

public class CommonDataMappingTable
{
  [Key]
  public Guid Id { get; set; }
  public string Mask { get; set; } // like: typeof(Table3).Name
  public string MappedID { get; set; } // like: Table3.Id.ToString()
  public virtual CommonDataTable MappedData { get; set; }    
}

しかし、Entity Framework を初めて使用するようになるとすぐに、そのような関係を EF CodeFirst モデルにマップする方法がわかりません。お時間をいただきありがとうございます。下手な英語で申し訳ありません。

4

0 に答える 0