我試了一整天才得到這個工作。我學到了很多關於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
我只是無法得到它的工作。我認爲應該清楚,我想要什麼。一個用戶可能有多個地址(首先我想強制至少一個地址,但現在如果用戶可能有地址可選,我會很高興),而一個房子只有一個地址 - 這是需要。如果房子的地址會被級聯刪除,那將會很好。
好吧,今天有更多的睡眠,我想我的問題是在初始化,而不是在上下文......但是,您的答案對我有價值,也希望對其他人有用。 –