代码之家  ›  专栏  ›  技术社区  ›  Sako73

如何在实体框架3中映射0..1到1的关系

  •  1
  • Sako73  · 技术社区  · 15 年前

    用户 地址 . A用户表有一个字段映射到地址表的主键。此字段可以为空。

    我试图在实体框架中映射这种关系。我在以下代码中遇到错误:

    <Association Name="fk_UserAddress">
          <End Role="User" Type="GenesisEntityModel.Store.User" Multiplicity="1"/>
          <End Role="Address" Type="GenesisEntityModel.Store.Address" Multiplicity="0..1" />
          <ReferentialConstraint>
            <Principal Role="Address">
              <PropertyRef Name="addressId"/>
            </Principal>
            <Dependent Role="User">
              <PropertyRef Name="addressId"/>
            </Dependent>
          </ReferentialConstraint>
        </Association>
    

    它给出了一个“重数的下界必须是0”的错误。

    谢谢你的帮助。

    1 回复  |  直到 15 年前
        1
  •  0
  •   DShultz    15 年前

    错误的原因是,具有外键(User)的表的重数可能大于主(地址)表。您在第一段中描述的数据库关系是1地址-0个或多个用户。EF关系不能将零作为主表的选项。