我是否需要指定添加或附加

时间:2013-05-14 17:51:52

标签: c# entity-framework-5

如果需要为1-1关系添加新行,是否需要指定添加或附加?如果需要,我该怎么办呢?

//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

1 个答案:

答案 0 :(得分:1)

Add适用于新行。 Add不适合更新。在您发布的代码中,应保留实体和上下文之间的关系,因此您需要调用:

db.SaveChanges();

保留所有更新。

如果关系中断,您可以使用Entry更新项目:

   db.Entry(entity).State = EntityState.Modified;
   db.SaveChanges();