我有两个实体:
public partial class Web_Vendor
{
public string VendorID { get; set; }
public virtual Deal_Brands DealBrand { get; set; }
}
public partial class Deal_Brands
{
public string Brand { get; set; }
public virtual Web_Vendor WebVendor { get; set; }
}
我需要使用fluent API配置使用字段VendorID <-> Brand
的一对一映射。
modelBuilder.Entity<Web_Vendor>().HasOptional(x=>x.DealBrand).WithRequired(x=>x.WebVendor).
Map(x=>x.MapKey(""))
有人能帮忙继续这条线吗?
查看您的类,我发现Web_Vendor
和Deal_Brands
之间的关系是"一对零一"(1-0.1),而不是"一对一"。这意味着Deal_Brands
主键必须是Web_Vendor
主键。类应该是这样的:
public partial class Web_Vendor
{
public string VendorID { get; set; }
public virtual Deal_Brands DealBrand { get; set; }
}
public partial class Deal_Brands
{
public string VendorID { get; set; }
public string Brand { get; set; }
public virtual Web_Vendor WebVendor { get; set; }
}
映射:
modelBuilder.Entity<Web_Vendor>()
.HasKey(i => i.VendorID);
modelBuilder.Entity<Deal_Brands>()
.HasKey(i => i.VendorID);
modelBuilder.Entity<Web_Vendor>()
.HasOptional(x=>x.DealBrand)
.WithRequired(x=>x.WebVendor);
希望它能有所帮助!