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 モデルにマップする方法がわかりません。お時間をいただきありがとうございます。下手な英語で申し訳ありません。