FoxPro テーブルの既存のセットを使用しています。特定の1つのテーブル
public class Charges
{
public string Bill_Num { get; set; }
public string Type { get; set; }
public string Chargeid { get; set; }
public string Postid { get; set; }
public DateTime Createdt { get; set; }
public DateTime Modifydt { get; set; }
public string Createtm { get; set; }
public string Modifytm { get; set; }
{
TPHのようです。識別子はTypeフィールド (CまたはP) であるため、次の行に沿ってマッピングしています。
public abstract class LineItem
{
public string Bill_num { get; set; }
public string Type { get; set; }
public DateTime Createdt { get; set; }
public DateTime Modifydt { get; set; }
public string Createtm { get; set; }
public string Modifytm { get; set; }
}
public class LineItemMap : EntityTypeConfiguration<LineItem>
{
public LineItemMap()
{
this.Map<Charge>(m => m.Requires("Type").HasValue("C"));
this.Map<Posting>(m => m.Requires("Type").HasValue("P"));
this.ToTable("Charges");
this.Property(t => t.Bill_Num).HasColumnName("Bill_Num");
this.Property(t => t.Type).HasColumnName("Type");
this.Property(t => t.Createdt).HasColumnName("Createdt");
this.Property(t => t.Modifydt).HasColumnName("Modifydt");
this.Property(t => t.Createtm).HasColumnName("Createtm");
this.Property(t => t.Modifytm).HasColumnName("Modifytm");
}
}
と
public class Charge : LineItem
{
public string Chargeid { get; set; }
}
public class ChargeMap : EntityTypeConfiguration<Charge>
{
public ChargeMap()
{
this.HasKey(t => t.Chargeid);
this.Property(t => t.Chargeid)
this.ToTable("Charges");
this.Property(t => t.Chargeid).HasColumnName("Chargeid");
}
}
と
public class Posting : LineItem
{
public string Postid { get; set; }
}
public class PostingMap : EntityTypeConfiguration<Posting>
{
public PostingMap()
{
this.HasKey(t => t.Postid);
this.Property(t => t.Postid)
this.ToTable("Charges");
this.Property(t => t.Postid).HasColumnName("Postid");
}
}
これを行うとLineItem、単純な主キーがありません。の複合キーは一意になると思いますが{ t.Bill_num, t.Createdt, t.Createtm }、EF や FoxPro プロバイダーがそれを気に入るかどうかはわかりません。
2 番目の問題は、両方のサブクラスがあり、Charges無効Postings化エントリ (別名削除) を含み、Chargeid/が割り当てられていないように見えますが、識別子があるため、またはキー値Postidを持つ派生型になります。null" "
何か不足していますか、それともマッピング/キーの割り当てで正しい軌道に乗っていますか?