通过关联表的实体框架1to1关系在EDMX中不起作用

吉姆

我在SQL Server数据库中有以下表格 在此处输入图片说明

它具有1-1关联表(FooBar),该表在对应的FooId,BarId上具有唯一索引,并且主键是(FooId,BarId)。

需要明确的是,FooBar不允许任何FooId(由于唯一性约束)多次出现在表中,也不允许任何BarId(由于唯一性约束)多次出现在表中。这就是使其成为1-1关联表的原因。

我想拥有此关联表,而不是Foo与Bar之间的1-1关系,因为在我的实际情况下,Bar将与其他不相关的表具有其他关系,并且我想要相似的关联表(而不是向Bar添加新的FK列每个新表)

然后,我将这些表带入我的EDMX设计器中。关系以多对多而不是一对一的方式引入。在此处输入图片说明

当然不是我想要的。我可以手动将模型更改为1-1关系。在此处输入图片说明

但是然后我得到了一个错误(在设计器中)。 在此处输入图片说明

这是错误还是无法在EF中以这种方式创建1-1关联?

用户名

它是整个EF设计的“错误”:实体框架4-6.1x仅支持主键上的多重性

Thus even though we know (and the RA models) that it is a 1-1 relationship due to a Candidate Key Constraint, EF does not and will not like it. Tough luck.

The "solutions" include:

  1. Changing the model to something EF understands (EF understands Code First, not RA). Granted this may indicate an "issue" with the selected RA model, but such is orthogonal to the question ..

  2. Live with the incorrectly generated multiplicity rules and "use with care"; the dirty work can be wrapped, but has to be added manually outside of the auto-generated model.

  3. .. Hmm, others?

Shameless plug to unresolved questions deal with the same core lack-of feature:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章