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
" "
何か不足していますか、それともマッピング/キーの割り当てで正しい軌道に乗っていますか?