相关疑难解决方法(0)

实体框架一对一映射问题

使用VS 2010 beta 2,ASP.NET MVC.

我试图创建一个Entity框架文件,并从我的数据库中获取数据.

这些关系存在一些问题,所以我开始调整周围的事情,但是我为了简单的一对一关系而不断收到以下错误

错误1错误113:多重性在关系'FK_UserProfiles_Users'中的角色'UserProfile'中无效.由于Dependent Role属性不是关键属性,因此Dependent Role的多重性的上限必须为*.myEntities.edmx 2024

我的Users表包含与其他表的一些其他多对多关系,但是当我尝试与其他表建立一对一的关系时,会弹出该错误.

用户表

  • 用户身份
  • 用户名
  • 电子邮件

等等..

UserProfiles表

  • UserProfileID
  • UserID(用户表的FK)
  • 地点
  • 生日

entity-framework

46
推荐指数
2
解决办法
3万
查看次数

如何将EF6关联添加到不是主键的候选键/唯一键?

使用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

12
推荐指数
1
解决办法
1859
查看次数

通过关联表的实体框架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关联?

c# sql-server entity-framework edmx entity-framework-6

9
推荐指数
1
解决办法
1432
查看次数