我正在使用Entity Framework 4和Service / Repository / EF4 / POCO类技术,我对View Model绑定有疑问。
将类映射到视图模型并仅获取视图所需的字段时,将其映射回类的新实例以持久保存到数据库,如何防止视图中未使用的字段被覆盖?
答案 0 :(得分:1)
这通常通过首先从db加载实体并将合并数据合并到此实体来执行(ObjectContext
将跟踪更改并仅更新已更改的属性)。另一种方法是手动设置在状态管理器中修改的属性:
context.MyEntities.Attach(entity);
context.ObjectStateManager.GetObjectStateEntry(entity).SetModifiedProperty("Name");
现在,当您只保存更改时,实体的Name属性将包含在Update SQL命令中。
使用repostiory检查高级示例时,我显示here。