【发布时间】:2018-05-30 08:10:35
【问题描述】:
我有两个表如下
public class Person {
[Key]
public int Id { get; set;}
public string Name {get; set;}
}
和
public class Office {
[key]
public int OfficeId {get; set;}
public string OfficeName { get; set;}
public virtual ICollection<Person> Persons { get; set;}
}
现在我想要第三个表中的关系,例如
[PersonHasOffice]
| PersonId | OfficeId |
这样用户可以有只有一个或没有办公室。 当我尝试以下操作时,生成的关系是多对多的!
modelBuilder.Entities<Office>
.HasMany(e=>e.Persons)
.WithMany()
.Map(m=>m.ToTable("PersonHasOffice").MapLeftKey("OfficeId").MapRightKey("Id"));
如何在 Person 端获得一对零对一的关系,这样一个人要么有办公室,要么没有办公室。
【问题讨论】:
-
用户和人是一样的吗?
-
是的。对不起这个错误。我现在已经更正了。
-
问题解决了吗?
-
请在下面查看我对您提出的解决方案的评论。
标签: c# asp.net-mvc entity-framework ef-code-first ef-fluent-api