最初にエンティティフレームワーク 5 コードを使用しています。このようなモデルがあります。
class Product {
public Product() {
Fabrics = new BindingList<FabricLineItem>();
}
...
public virtual ICollection<FabricLineItem> Fabrics { get;set; }
}
class FabricLineItem {
[ForeignKey("Fabric")]
public int FabricId { get; set; }
public virtual Product Product { get;set; }
public virtual Fabric Fabric { get;set; }
}
class Fabric {
...
}
データベースにはすでに生地があります。新しい製品オブジェクトを作成し、いくつかの生地アイテムをコレクションに追加します。製品を保存しようとすると、データベース内のファブリックが複製され、呼び出し後に新しいファブリックが参照されます
DataContext.SaveChanges();
savechanges への呼び出しの前に、デバッガーの値は、呼び出された後に変更されて正しいですか? なぜ私がこの奇妙な振る舞いをしているのか分かりますか?