【发布时间】:2015-09-08 13:34:14
【问题描述】:
我收到以下 EF 错误:
Agent_MailingAddress: : 多重性与引用冲突 关系中角色“Agent_MailingAddress_Target”中的约束 'Agent_MailingAddress'。因为 Dependent 中的所有属性 角色是不可为空的,主体角色的多重性必须是 1
它似乎在执行时抛出这个
base.OnModelCreating(modelBuilder).
这是我的模型。 FWIW,Agent 继承自 User 类。
public class Agent
{
public int AgentId { get; set; }
public int PrimaryAddressId { get; set; }
public Address PrimaryAddress { get; set; }
public int? MailingAddressId { get; set; }
public Address MailingAddress { get; set; }
}
public class Address
{
public int AddressId { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
}
我认为这个问题与Agent 具有多个Address 类型的属性有关,也可能是因为其中一个属性可以为空。我做了一些搜索,但似乎找不到答案。
我假设将我的 Agent 模型更改为具有 List<Address> 类型的单个属性,该属性将使用 UserAddresses 查找表来解决错误,但我更愿意保留当前模型而不是。
如何解决此错误?提前致谢。
【问题讨论】:
-
您发布的代码看起来没问题。问题一定是你如何使用它。显示发生错误的代码,并发布完整的异常消息。
-
对不起,伙计们。已更新。
-
OnModelCreating有配置吗?
标签: c# entity-framework