我有两个表,用户和地址。用户表具有映射到地址表的主键的字段。该字段可以为空。
简单来说,地址存在独立于其他对象。用户可以与一个地址相关联。在数据库中,我将此设置为外键关系。
我正在尝试在实体框架中映射此关系。我在以下代码中遇到错误:
<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”的错误。
如果有人能解释错误,以及解决错误的最佳方法,我将不胜感激。
感谢您的帮助。
答案 0 :(得分:0)
错误的原因是因为具有外键(User)的表可能具有大于主(Address)表的多重性。您在第一段中描述的数据库关系是1地址 - 到0或许多用户。 EF关系不能为零作为主表的选项。