我试了一整天才得到这个工作。我学到了很多关于EF的Fluent API(例如this是一篇很好的文章),但是我没有成功。实体框架5中的一对一和一对多关系代码优先
我有三个实体:
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; }
}
,并在
protected override void OnModelCreating(DbModelBuilder modelBuilder)
试过,我能想到的HasMany, HasOptional, WithOptional, WithOptionalDependent
和WithOptionalPrincipial
所有组合两个User
和House
我只是无法得到它的工作。我认为应该清楚,我想要什么。一个用户可能有多个地址(首先我想强制至少一个地址,但现在如果用户可能有地址可选,我会很高兴),而一个房子只有一个地址 - 这是需要。如果房子的地址会被级联删除,那将会很好。
好吧,今天有更多的睡眠,我想我的问题是在初始化,而不是在上下文......但是,您的答案对我有价值,也希望对其他人有用。 –