簡體   English   中英

如何使用實體框架替換外鍵實體?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM