Jim*_*Jim 9 c# sql-server entity-framework edmx entity-framework-6
我在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 仅尊重主键上的多重性.
因此,即使我们知道(和RA模型)由于候选键约束而是1-1关系,EF也不会也不会喜欢它.倒霉.
"解决方案"包括:
将模型更改为EF理解的内容(EF理解Code First,而不是RA).当然,这可能表明所选RA模型存在"问题",但这与问题正交.
生活在错误生成的多重性规则和"谨慎使用"; 脏工作可以包装,但必须在自动生成的模型之外手动添加.
嗯,其他人?
对未解决的问题的无耻插件处理相同的核心缺乏功能:
| 归档时间: |
|
| 查看次数: |
1432 次 |
| 最近记录: |