编辑更复杂实体的视图

时间:2014-12-16 19:10:47

标签: c# asp.net-mvc entity-framework

假设我有一个设备实体,它有许多字段和一些导航属性。当用户单击特定设备的编辑时,我们只希望他们能够编辑其中一些属性。推荐哪种实施方案? (有没有一种标准的方法)

  1. 在视图中为设备的所有属性隐藏字段,甚至为其可能具有的许多关系导航属性设置大隐藏列表。发布编辑时,使用SaveChanges()将所有更改保存到实体 - 这意味着让EF找出更改的内容。 (我甚至不确定MVC是否能够在没有定制的情况下对导航道具进行建模。)

  2. 有一个单独的模型,如EditDeviceModel,只有您想要编辑的属性,并编写一个方法来专门保存此模型以更新实体。

  3. 选项我没有想到???

1 个答案:

答案 0 :(得分:0)

您使用EditDeviceModel处于正确的轨道上。标准方法是创建一个视图模型以绑定到视图。然后,您将使用已更改的字段更新实体并调用SaveChanges。