使用VS 2010 beta 2,ASP.NET MVC.
我试图创建一个Entity框架文件,并从我的数据库中获取数据.
这些关系存在一些问题,所以我开始调整周围的事情,但是我为了简单的一对一关系而不断收到以下错误
错误1错误113:多重性在关系'FK_UserProfiles_Users'中的角色'UserProfile'中无效.由于Dependent Role属性不是关键属性,因此Dependent Role的多重性的上限必须为*.myEntities.edmx 2024
我的Users表包含与其他表的一些其他多对多关系,但是当我尝试与其他表建立一对一的关系时,会弹出该错误.
用户表
等等..
UserProfiles表
使用Schema首先,我有一个数据库结构,如此
ExternalDataItems
---
edataitem_id PK -- surrogate auto-increment - NOT for FK relation here
datahash UX -- Candidate Key / Unique Index (binary(20))
ExternalMaps
---
emap_id PK
ext_datahash FK on ExternalDataItems.datahash - NOT referencing the surrogate PK
Run Code Online (Sandbox Code Playgroud)
并且在生成SSDL/CSDL之后1有这个
<Association Name="FK_ExtMaps_ExtDataItems">
<End Multiplicity="1" Role="ExternalDataItems" Type="Store.ExternalDataItems" />
<End Multiplicity="*" Role="ExternalMaps" Type="Store.ExternalMaps" />
<ReferentialConstraint> <!-- error on this element -->
<Principal Role="ExternalDataItems">
<PropertyRef Name="datahash" />
</Principal>
<Dependent Role="ExternalMaps">
<PropertyRef Name="ext_datahash" />
</Dependent>
</ReferentialConstraint>
</Association>
Run Code Online (Sandbox Code Playgroud)
这会在<ReferentialConstraint>元素上生成错误
运行转换:主体角色ExternalDataItems引用的属性必须与关系FK_ExtMaps_ExtDataItems的关系约束中的主体角色引用的EntityType ExternalDataItem的键完全相同.确保在主体角色中指定了所有关键属性. …
entity-framework foreign-key-relationship unique-key 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关联?