2009-10-07 109 views
0

我有一个名为say的表1,它有一列是另一个表中的主键。实体框架:更改表的值

我想,所以我尝试 Table1.OtherTableWithID.ID = myvalue的 但我得到的错误
“属性‘ID’是对象的关键信息的一部分,不能进行修改。”

改变该值

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

回答

4

我觉得你描述一个外键:-)从我的另一个问题的答案引用,您可以选择相关的对象,并为其分配一个办法:

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

或者,如果你不要想查询数据库以获取外键实体,或者您没有以任何理由设置实体,您也可以使用EntityKey达到相同的效果:

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