我有2个项目 – 一个包含EDM实体框架模型和单独的ASP.NET MVC项目的类库.
我在使用MVC编辑和保存对实体的更改时遇到了问题.在我的控制器中,我有:
public class UserController : Controller { public ActionResult Edit(int id) { var rep = new UserRepository(); var user = rep.GetById(id); return View(user); } [HttpPost] public ActionResult Edit(User user) { var rep = new UserRepository(); rep.Update(user); return View(user); } }
我的UserRepository有一个像这样的Update方法:
public void Update(User user) { using (var context = new PDS_FMPEntities()) { context.Users.Attach(testUser); context.ObjectStateManager.ChangeObjectState(testUser,EntityState.Modified); context.SaveChanges(); } }
现在,当我在编辑用户页面上单击“保存”时,参数用户仅包含两个填充的值:Id和FirstName.我认为这是因为我只在视图中显示这两个属性.
我的问题是,如果我正在更新用户的名字,然后想要保存它,我想对视图中未显示的其他用户属性做什么,因为它们现在包含0或NULL值用户对象?
我一直在阅读很多关于使用存根实体的内容,但是我无法快速完成,因为我见过的所有实例都没有实际工作.即我一直得到EntityKey相关的例外.
有人能指出我如何使用由MVC前端调用的存储库类更新EF 4实体的好教程/示例吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。