我有两个简单的表格,如此处所述......
Table = Person
PersonID (int, PrimaryKey)
FirstName (char)
LastName (char)
Table = Related
RelatedID (int, PrimaryKey)
Person1 (int, ForeignKey for Person.PersonID)
Person2 (int, ForeignKey for Person.PersonID)
Relationship (int)
为Person生成的实体有两个导航集合。一个用于Related.Person1,另一个用于Related.Person2。这是一种痛苦,因为这意味着我有两个集合要进行调查,以查找与该人相关的所有关系。
我需要只有一个包含这两个集合的导航集合。是否有可能将此作为实体frameowrk的一部分生成?唯一的选择是自己生成第三个集合,其中包含一组实体,感觉就不需要了。
答案 0 :(得分:2)
正如克雷格所说,你所要求的并不是EF的核心,但......友谊型关系是那些令人讨厌的模型之一,所以我看到你想要做的事情。
通过将关联集映射到SSDL中的视图(DefiningQuery),可以实现此方法。
视图支持的关联/关系将是只读的,因此您可能希望保留其他两个关系,以允许您从正确的集合中添加/删除,或者当您要搜索时只有一个方向。
查看此帖子which shows the techniques,了解更多信息。
希望这有帮助
亚历