0

1 対 1 の関係で新しい行を追加する必要がある場合、Add または Attach を指定する必要がありますか? また、必要な場合はどうすればよいですか?

//one tblContent to one tblContentData
//updating the tblContentData corresponding to a particular id in tblContent

int id = 12345;
tblContent entity = db.tblContents.Where(con => con.id == id)
                      .FirstOrDefault();
if (entity == null)
   throw new Exception("id was bad");

if (entity.tblContentData == null)
   entity.tblContentData = new tblContentData();

//proceed with updating the foreign keyed table
4

1 に答える 1

1

Add新しい行に適しています。 Add更新には不向きです。投稿したコードでは、エンティティとコンテキストの関係を保持する必要があるため、次を呼び出す必要があります。

db.SaveChanges();

更新を保持します。

関係が壊れている場合は、次の方法でアイテムを更新できますEntry

   db.Entry(entity).State = EntityState.Modified;
   db.SaveChanges();   
于 2013-05-14T18:00:55.757 に答える