0

私はすなわちコードファーストで繰り返されるデータ構造を避ける方法は?

public Guid Id { get; set; } 
public string Name { get; set; } 

私は余分な財産を導入することなく、このような構造の繰り返しを避けることができますどのように、すべてが同じ構造を共有していること、などJobTitleや言語としてのルックアップテーブルを表すクラスの全体の多くで自分自身を見つけます、例えば上記と同じ構造のIdNameの複合型。

public class Gender 
{ 
    public IdName Inner { get; set } 
} 

Gender.Inner.Nameを参照せず、Gender.Nameだけを参照しないようにしたいと考えています。このような場合に

答えて

2

IdNameを含む基本クラスを作成します。

public class BaseEntity 
{ 
    public Guid Id { get; set; } 
    public string Name { get; set; }  
} 

とあなたのGenderはなります:

public class Gender : BaseEntity 
{ 
    ... 
} 

あなたは常にこれらのルールに従わたくないマッピングされ、継承を回避するには、次の

  • OnModelCreatingBaseEntityをマッピングしていません - のみ派生をクラスが割り当てられています
  • あなたの状況はのDbSetを含んでいませんは、唯一の派生型
  • のためにあなたがこれらの規則に従っている場合、継承だけで、あなたのアプリケーションではなく、自分のデータベースになりますBaseEntity

に登録さEntityTypeConfigurationを身廊はありません。

+0

おかげ@Ladislav。継承はアプリ内でのみ保持することができたことは私には起こりませんでした。 – ProfK

関連する問題