我正在尝试首先将代码与现有数据库一起使用。到目前为止一切顺利,但现在我在一对多对一的关系中失败了。
db 中有一个表客户和一个表地址,其中地址没有任何 customerid,而是一个外来的一对多键 FK_Address_Customer。
从 edmx 自动创建的类看起来像
顾客:
public int CustomerID (PK)
public Address Address
地址:
public int AddressID (PK)
public HashSet<Customer> Customers
无论我在 fluent API 中做什么,要么因无效列 Address_AddressID 而失败,要么多重性与引用约束错误冲突。
我以为:
//Customer has one address, address can have multiple customers<br/>
pModelBuilder.Entity<Customer>().HasRequired(m => m.Address).WithMany(x => x.Customers);
//Address has multiple customers, customer has one address<br/>
pModelBuilder.Entity<Address>().HasMany(m => m.Customers).WithRequired();
我通过使用 HasForeignKey 在数据库中没有外键的其他表上得到了正确的结果,但在上述情况下它不起作用。我也尝试通过 MapKey 传递外键名称,但也没有运气。
如何让这种简单的关系继续下去?
谢谢