9
我想用Code First創建一個SQL CE 4數據庫。在下面運行示例代碼時,即使數據完全相同,Entity Framework也會每次插入新的產品記錄。 我需要做什麼才能使Entity Framework不會創建重複的關聯產品? ForeignID1和Product對象中的值是數據庫中已存在的值,但實體框架正在擦除我給它的ID並添加一個新的ID。實體框架爲關聯對象創建新/重複條目
namespace MyApp.Model
{
public class MyThing
{
public int ID { get; set; }
[ForeignKey("Product")]
public int ForeignID1{ get; set; }
public virtual Product Product { get; set; }
}
}
// Data.DataManager.cs
public class DataManager : DbContext
{
public DbSet<Model.MyThing> Things{ get; set; }
public DbSet<Model.Product> Products { get; set; }
}
這些是它輸入的值。應該只有在表中的值由多個MyThings
的
這在某種程度上有效。但現在我想我的問題的一部分是,它使用我的ID作爲身份證密鑰,導致身份證被設置爲1,2,3等。 – teynon
我結束了使用這個和'[[ DatabaseGenerated(DatabaseGeneratedOption.None)]'來禁用標識列。我也爲每個孩子(產品)運行我自己的更新過程。 – teynon
在使用Attach()編輯你想添加到數據庫的對象的屬性之前,注意到這一點也很重要....也許我只是愚蠢的... –