私はefコードの最初のアプローチで実験しています。私は基本クラスを持っています:
[Serializable]
[Table("PayerEntity")]
public abstract class PayerEntity
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int PayerEntityId { get; set; }
}
別のものはそれからの子孫です:
[Serializable]
[Table("Group")]
public class Group : PayerEntity
{
public int GroupId { get; set; }
[MaxLength(50,ErrorMessage = "Max 50")]
public string SomeGroupProp { get; set; }
}
コンテキスト クラスで、OnModelCreating メソッドをオーバーライドします。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Group>().HasKey(p => new { p.PayerEntityId, p.GroupId });
base.OnModelCreating(modelBuilder);
}
ただし、「PayerEntityId」列のみが主キーになります。どんな助けでも本当に感謝しています。
ありがとう、ピーター