【发布时间】:2009-10-07 05:35:46
【问题描述】:
我有一个名为 say Table1 的表,其中有一列是另一个表中的主键。
我想改变这个值,所以我试试
Table1.OtherTableWithID.ID = 我的值
但我得到了错误
"属性 'ID' 是对象的关键信息的一部分,不能修改。"
那么我该如何修改这个值,因为我无法通过 Table1.ID 访问它?
【问题讨论】:
标签: c# asp.net entity-framework
我有一个名为 say Table1 的表,其中有一列是另一个表中的主键。
我想改变这个值,所以我试试
Table1.OtherTableWithID.ID = 我的值
但我得到了错误
"属性 'ID' 是对象的关键信息的一部分,不能修改。"
那么我该如何修改这个值,因为我无法通过 Table1.ID 访问它?
【问题讨论】:
标签: c# asp.net entity-framework
我认为您在描述外键 :-) 引用我在另一个问题中的回答,您可以选择关联的对象并以这种方式分配它:
table1Item.Table2 = ctx.Table2.First(t => t.ID == newID);
或者,如果您不想查询数据库以获取外键实体,或者由于某种原因没有以这种方式设置实体,您也可以使用 EntityKey 来达到相同的效果:
tableItem.Table2Reference.EntityKey = new EntityKey("MyDb.Table2", "ID", newID);
【讨论】: