c# - EF4 自引用关联 0..1 -> 1

标签 c# entity-framework entity-framework-4 data-modeling

有很多关于自引用问题的阅读 Material ,但我似乎找不到我的问题的答案。

假设我有一个(A),我希望 A 有一个伙伴,另一个人 (B)。自然就说明B在人类A中有搭档,你会如何解决这个问题?理想情况下,我只需要做:

humanA.Partner = humanB;

humanB 会自动将 humanA 作为合作伙伴。

我本以为我可以创建一个人类实体,并添加一个协会,例如:

End1 Entity:Human, Multiplicity:0..1, Navigation Property:Partner

End2 Entity:Human, Multiplicity:0..1

因此,每个人都有零个或一个人类伙伴。

感谢您的宝贵时间。

最佳答案

1:0..1 映射仅在 entities "share" primary key 时可用.这意味着当关联的实体 FK 也是其 PK 时。所以自引用 1:0..1 不存在。我认为你甚至不能直接将它映射到数据库中。

关于c# - EF4 自引用关联 0..1 -> 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5152041/

相关文章:

c# - WCF 服务调用包装器

c# - ASP MVC Web API + EF 中带有时区的日期时间

entity-framework - 使用 Entity Framework 代码优先CTP5,如何创建为主键列而不是标识列的主键

entity-framework - EF4 POCO(不使用 T4): Mapping and metadata information could not be found for EntityType

entity-framework - .edmx 文件的用途是什么?

c# - 在使用闭包的 LINQ 语句中,是否可以在闭包中指定 where 子句?

c# - Matlab MCR 是否支持多核?

c# - 如何在代码隐藏中将 FrameworkElement.Width 属性设置为 qualifiedDouble 的值?

c# - Entity Framework - 使用 FK 同时插入父模型和子模型

c# - "Or"Together Expression<Func<EntityFramework Entity, bool>> in .NET 4, Silverlight RIA 域服务