我有兩個表是通過一對一的關係。主表消息。如何在EF中的兩個表之間創建兩個一對一的關係?
public class Message
{
[Key]
public Guid Id {get; set;}
//Other fields
public virtual MessageContent MessageContent {get;set;}
}
和相關表格在messageContent:
public class MessageContent
{
[Key]
[ForeignKey]
public Guid MessageId {get; set;}
//Other fields
public virtual Message Message {get;set;}
}
它運作良好。但是,我需要從在messageContent增加兩個關係,一個到零至消息:
public class MessageContent
{
[Key]
[ForeignKey]
public Guid MessageId {get; set;}
//Other fields
public virtual Message Message {get;set;}
public virtual Message Reason {get;set;}
public Guid? ReasonId {get;set;}
public virtual Message Report {get;set;}
public Guid? ReportId {get;set;}
}
拋出異常。如何將兩個關係從相關表格添加到主表格一對零?
什麼是拋出異常?這是代碼優先嗎? –
是的,它的代碼優先。如果使用下面答案中描述的DataAnnotation方式,則會引發異常:無法確定依賴操作的有效排序。由於外鍵約束,模型要求或商店生成的值,可能會存在依存關係。 –