-- ここでは、AB 間に manyTOmany が関連付けられていない間違ったモデルがありました。修正はEDIT2にあります--
A
データベースに存在します、データベースにB
存在します。C
Properties1 と Properties2 を使用して新しい要素を入力するだけで済みます (既存の要素と要素のコレクションを更新C
します) 。A
B
たとえば、このような多くのオプションを試しましたが、まだ何かが間違っています (ObjectOCntext と既存のキーなど)
void SaveNewC(C newC)
{
using (var context = new MyEntities(connectionString))
{
var dbA = context.A.Where(a => a.Id == newC.A.Id).SingleOrDefault();
var dbB = context.B.Where(b => b.Id == newC.B.Id).SingleOrDefault();
newC.A = dbA;
newC.B = dbB;
context.AddObject(newC);
context.SaveChanges();
}
}
編集
私が得る例外:"An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key."
EDIT2 更新モデル