0
Entity Frameworkの特定のフィールドを複数の列にマップする方法はありますか?特定のシナリオでは、テーブルごとの階層構造で継承を使用しています。基本型テーブルと具象型テーブルの両方に現れるフィールドがあります。Entity Frameworkに重複したデータを格納する
例:
abstract class BaseEntity
{
int id { get; set; }
DateTime createDate { get; private set; }
string TypeName { get; private set; }
}
public class Person : BaseEntity
{
int id { get; set; }
DateTime createDate { get; private set; }
string TypeName { get; private set; }
string FirstName {get; set;}
string LastName {get; set;}
DateTime DateOfBirth {get; set;}
}
基底クラス表
int ID,
DateTime createDate,
varchar TypeName
具象クラス表
int ID,
DateTime createDate,
varchar FirstName,
varchar LastName,
DateTime DateOfBirth
それが主キーであるため、これは、両方のテーブルにIDを持つ問題ではありません。ただし、作成日は別々のデータとして扱われます。
主な理由は、データベースの保守とサポートのためです。私はデータの重複が良い習慣ではないことを理解しています。これは、いくつかのフィールドの場合のみです。
c#コードは、そのように見える必要はありません。別の方法がある場合、プロパティをPersonクラスに読み込む必要はありません。私はあなたの示唆が何らかの形でコード内で行われることを「トリガー」したい – mfreedm52