1
我使用實體框架代碼首先,我需要將對象寫入數據庫並出現一個奇怪的問題,這讓我認爲我的實體模型可能是錯誤的。EF代碼優先:帶有子對象交叉關係的模型問題
的對象包括位置類型2子對象:
var request = new Request();
request.StartPosition = new Position();
request.EndPosition = new Position();
_context.Requests.Insert(request);
這裏是我的模型:
[Table("Requests")]
public class Request
{
[Key]
public Guid Id { get; set; }
public Guid ProductId { get; set; }
public virtual int PositionId { get; set; }
[ForeignKey("PositionId")]
public virtual Position StartPosition { get; set; }
[ForeignKey("PositionId")]
public virtual Position DestinationPosition { get; set; }
}//class
[Table("Positions")]
public class Position
{
[Key]
public int Id { get; set; }
public double X { get; set; }
public double Y { get; set; }
public virtual ICollection<Request> Requests { get; set; }
public Position()
{
Requests = new List<Request>();
}
}
這是我收到異常: {「參照完整性約束衝突。一個相關的角色有多個不同的價值主體。「}
您的每個職位是否只有一個請求主體?更改公共虛擬ICollection請求{get;組; }到公共虛擬請求請求{get;組;}? –
Sami