当我阅读某个实体框架的poco类时,我注意到一对多关系总是以如下两种方式表示:
1- Public List<User> Users {get;set;}
2- Public Virtual User Users {get;set}
所以哪一个是正确的,什么时候我应该使用每一个,这个概念真的把我搞糊涂了!!!
最佳答案
我想你读错了。通常(虽然不是必需的),在关系的两端都有导航属性。
一侧的集合导航属性(例如aDepartment
可能有一个List<User>
属性)和一侧的参考导航属性(aUser
可能有一个Department
属性)。
还建议您也具有外键属性,例如int DepartmentId
上的User
。
如果要支持延迟加载,则需要将导航属性标记为virtual
。有关POCO类型的要求,请参见here。
关于c# - 如何在 Entity Framework POCO类中表示外键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15931687/