我花了很长时间弄清楚如何将这样的实体添加到我的数据库中。
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”并将其写入我的数据库。棘手的部分是任何数量的列表都可能报告给相同的列表数据。所以当我添加或更新一个 ThingWithListings 时,我需要查看一个 ListingData 是否已经存在,如果存在,就使用那个。
我是 EF 的新手,所以我一直在使用作者 Vickers 的文章中的 AddOrUpdate :显然,这不适用于这种情况,所以我尝试了一天左右来找出正确的方法做这个。我会把我主要失败尝试的所有故事都告诉你,希望有人能告诉我正确的方法。