我在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设计的“错误”: Entity Framework 4-6.1x 仅在主键上具有多重性。
因此,即使我们知道(和RA模型)由于候选键约束而为1-1关系,EF也不会也不会喜欢它。倒霉。
“解决方案”包括:
未解决问题的无耻插件处理了相同的核心不足功能:
关于c# - 通过关联表的 Entity Framework 1to1关系在EDMX中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28566550/