[英]How to replace the foreign key entity use Entity Framework?
我在項目中首先使用實體框架代碼。 我有兩個整體具有一對多的關系:
public class Car
{
public Guid ID { get; set; }
public string Make { get; set; }
public string Model { get; set; }
}
public class CarMapping
{
public Guid ID { get; set; }
public virtual Car Car { get; set; }
}
現在我有了一個carID
並想在CarMapping中替換汽車。 我嘗試這樣做:
var carMapping = DbContext.CarMappings.SingleOrDefault(m => m.ID == id);
carMapping.Car.ID = carID;
但這將導致EF更新Car並引發異常,表示主鍵無法更改。
調用carMapping.Car
屬性將返回Car
對象。 因此,您無法在Car
對象中更改主鍵。
如果要在CarMapping中更改Car,則應執行以下操作:
Car car = DbContext.Cars.Single(r=>r.ID == carID);
CarMapping carMapping = DbContext.CarMappings.SingleOrDefault(m => m.ID == id);
carMapping.Car = car;
DbContext.SaveChanges();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.