【发布时间】:2010-01-25 04:56:48
【问题描述】:
我有一个名为“ABC”(属性 ID 和标题)的 entityframework 实体。
在更新记录视图中,我已将 ID 添加为隐藏字段,标题是文本框。
控制器看起来像这样:
public ActionResult UpdateAction( ABC obj )
我在 obj 中得到了一切正常和公平的东西 - 即标题和 ID。
现在要更新数据库中的记录,我读取了原始实体:
var original = (from x in base.context.ABC where x.id == obj.id ).Single();
现在要反映原来的变化,我认为应该做更新模型:
this.TryUpdateModel( original );
我收到一个错误:| ...声明不能更改列 ID。
The property 'id' is part of the object's key information and cannot be modified.
我不想手动将属性分配回原始对象。
另一种选择可以是:
TryUpdateModel(original, new string[] { "Title" }, form.ToValueProvider());
但我讨厌字符串 - 而且,我的对象有 20 个属性:|
有人可以建议一个更好的模式吗?
Rgds
【问题讨论】:
-
我想我找到了解决方案@@stackoverflow.com/questions/922402/…
标签: asp.net-mvc entity-framework