实体框架:更改表的值

时间:2009-10-07 05:35:46

标签: c# asp.net entity-framework

我有一个名为Table1的表,其中有一列是另一个表中的主键。

我想改变这个值,所以我试试 Table1.OtherTableWithID.ID = Myvalue 但是我得到了错误 “属性'ID'是对象关键信息的一部分,无法修改。”

那么我怎么能修改这个值,因为我无法通过Table1.ID访问它?

1 个答案:

答案 0 :(得分:4)

我认为你在描述一个外键:-)从另一个问题的答案中引用,你可以选择相关的对象并以这种方式分配:

table1Item.Table2 = ctx.Table2.First(t => t.ID == newID);

或者,如果您不想查询数据库以获取外键实体,或者由于某种原因您没有以这种方式设置实体,您也可以使用EntityKey来达到同样的效果:

tableItem.Table2Reference.EntityKey = new EntityKey("MyDb.Table2", "ID", newID);