このようなエンティティをデータベースに追加する方法を考え出すのにかなりの時間を費やしています。
public class ThingWithListings
{
public virtual ICollection<Listing> Listings;
}
public class Listing
{
public int Id;
public virtual ListingData Data { get; set; } // has a FK to ListingData
public DateTime Creation { get; set; }
}
public class ListingData
{
public int listing_id; // PK
....
}
別のソースから「ThingWithLIstings」を取得して、データベースに書き込んでいます。注意が必要な部分は、任意の数の Listing が同じ ListingData にレポートする可能性があることです。そのため、ThingWithListings を追加または更新するときは、ListingData が既に存在するかどうかを確認し、存在する場合はそれを使用する必要があります。
私は EF を初めて使用するので、ここの Author Vickers の記事の AddOrUpdate を使用しています。これを行う。私の失敗した主な試みのすべての話を割愛して、誰かがこれを行う正しい方法を教えてくれることを願っています.