【发布时间】:2012-11-06 19:49:52
【问题描述】:
我尝试了一整天来让它工作。我学到了很多关于 EF 的 Fluent API(例如 this 是一篇很棒的文章),但是我没有成功。
我有三个实体:
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)
我只是无法让它工作。我想应该很清楚,我想要什么。一个用户可能有多个地址(首先我想强制至少一个,但现在如果用户可以有可选的地址,我会很高兴......)而房子只有一个地址 - 这是必需的。如果房子的地址能级联删除就好了。
【问题讨论】:
标签: c# ef-code-first one-to-many entity-framework-5 one-to-one