我尝试了一整天来让这个工作。我学到了很多关于 EF 的 Fluent API(例如这是一篇很棒的文章),但是我没有成功。
我有三个实体:
public class Address
{
[Key]
public virtual int AddressId { get; set; }
public virtual string AddressString { get; set; }
}
public class User
{
[Key]
public virtual int UserId { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
}
public class House
{
[Key]
public virtual int HouseId { get; set; }
public virtual Address Address { get; set; }
}
并尝试了所有我能想到的和HasMany, HasOptional, WithOptional, WithOptionalDependent
的组合WithOptionalPrincipial
User
House
protected override void OnModelCreating(DbModelBuilder modelBuilder)
我只是无法让它工作。我想应该很清楚,我想要什么。一个用户可能有多个地址(首先我想强制至少一个,但现在如果用户可以有可选的地址,我会很高兴......)而房子只有一个地址 - 这是必需的。如果房子的地址被级联删除,那就太好了。