【问题标题】:How To Represent foreign key in Entity Framework's POCO Class如何在实体框架的 POCO 类中表示外键
【发布时间】:2013-04-02 15:20:12
【问题描述】:
当我阅读一些 Entity Framework 的 POCO 类时,我注意到一对多关系总是以两种方式表示,如下所示:
1- Public List<User> Users {get;set;}
2- Public Virtual User Users {get;set}
所以哪一个是正确的,我应该什么时候使用每一个,这个概念真的让我很困惑!!!
【问题讨论】:
标签:
c#
database
entity-framework-4
ef-code-first
【解决方案1】:
我认为你读错了。通常(尽管不是必需的),您将在关系的两端都有导航属性。
one 一侧的集合导航属性(例如,Department 可能有 List<User>)和 many 一侧的引用导航属性(a User 将有一个 Department)。
还建议您也有一个外键属性,例如User 上的int DepartmentId。
如果您想支持延迟加载,您需要将导航属性标记为virtual。 POCO 类型的要求见here。