我是新来的EF和我一直在使用asp.net mvc数据绑定方法来更新我的模型“tryupdatemodel”,现在我不得不更新实体从服务层,因为TryUpdateModel是一个asp.net mvc方法,我不能在服务层中使用它。实体框架更新现有实体没有ASP.NETMVC TryUpdateModel
我需要做什么来更新实体的数据而不使用此方法?
我正在使用存储库。
我是新来的EF和我一直在使用asp.net mvc数据绑定方法来更新我的模型“tryupdatemodel”,现在我不得不更新实体从服务层,因为TryUpdateModel是一个asp.net mvc方法,我不能在服务层中使用它。实体框架更新现有实体没有ASP.NETMVC TryUpdateModel
我需要做什么来更新实体的数据而不使用此方法?
我正在使用存储库。
没有办法做到这一点,您必须从数据库加载实体并自己更新属性。
不要在服务层使用它。您可以在控制器中放置类似的代码:
var entity = Service.Get(id); //get updated entity
TryUpdateModel(entity);
if (ModelState.IsValid)
Service.Save(entity); //here you can save to database and perform additional validation
与他的问题有什么相同之处? – LukLed 2010-02-24 19:14:23
实际上,它确实有,我使用帮助方法来更新数据而无需进行数据库调用,您只需将实体附加到上下文(使用附加的EF方法),然后您就会为该实体生成实体关键字,最后用foreach方法将所有属性标记为SetModifiedProperty。然后,你可以拯救沃拉,完成它。您只需调用该方法传递实体和实体集。如果有人有更好的方法,请告诉我;)谢谢“ – Rick 2010-02-24 21:29:31
@瑞克:手动做这件事总是有可能的,但我们谈论的不是这样做,而且有办法做到这一点,所以这个答案是错误的。 – LukLed 2010-02-24 21:47:51