我正在写一个自定义的.NET MembershipProvider(不是内置的),并试图使用实体框架进行更新。但是,我当然没有访问(尝试)UpdateModel。我如何更新它?提前致谢。如何简单地在实体框架中更新实体?
回答
要使用默认的供应商做,这是一个有点复杂,但是这将是更容易将创建自己的CustomMembershipProvider所列出的位置:
Implementing A Membership Provider
正如你可以做到这一点你自己的您可以编码存储库/ DAL代码,然后使用标准EF实践和惯例,使您可以执行简单且强大的映射操作,例如UpdateModel。
我想要做的是写我自己的会员供应商,但我不知道如何从那里更新我的EF实体。 – Agares 2010-09-21 11:09:32
啊,你需要什么,爵士。是DAL层还是Repository,我强烈推荐使用Dane Morgridge的这个例子,他提供了T4模板,只需将它放在与EDMX模型相同的文件夹中,然后运行,它将为您的模型生成数据存储库(或者至少可以自定义的骨骼)。 http://geekswithblogs.net/danemorgridge/Default.aspx – JTrott 2010-09-21 13:19:50
@Agares,编写自己的会员供应商与更新EF实体无关 - 这是一种标准的EF技术,只是看看周围,你会找到大量的例子。 – RPM1984 2010-09-21 22:18:51
您无法使用ASP.NET成员资格提供程序执行此类事情,即将自定义更新写入表中。
如果那么简单,那么很少有人会遇到问题/问题。 =)
甚至不用担心在您的EDMX上添加ASP.NET成员SQL表 - 您不会知道这些关系或表如何真正协同工作。忘记试图将其表现为“模型”。
我的建议是不要尝试绑定到MembershipProvider作为Model(即不创建强类型视图),只需直接从您的控制器调用Membership方法即可。
这是我们开始错过Web窗体的“拖放”的地方,不能放在ChangePassword控件上。 =)
最好的办法是创建一个普通的视图(不是强类型的),然后定期按钮发布到你的控制器方法。
不要试图以模型的形式传递对象,请在Request.Form集合中获取字段。
[HttpPost]
public ActionResult ChangePassword()
{
string userName = Request.Form["userName"];
string passWord = Request.Form["passWord"];
MembershipProvider.ChangePassword(userName, password);
return View("ChangePasswordSuccess");
}
上述代码将(大致)等同于传递强类型的用户对象,更改密码并调用UpdateModel。
当然,你可以实现自己的会员供应商,但我不相信,实现自定义的供应商只是为了让你的代码“更容易”应该是司机,因为除非正确编码的(这是不容易做到) ,您会损害我们认为理所当然的ASP.NET会员提供商的许多内置安全功能和丰富的帐户管理选项。
+1。 [不要映射会员表](http://blogs.teamb.com/craigstuntz/2010/03/05/38558/) – 2010-09-21 13:20:59
类似的问题是asked here。
这是一个CodeProject示例应用程序,可以让你开始使用EF和微软的MembershipProvider。他们构建了一个从MembershipProvider继承的类。
http://www.codeproject.com/KB/web-security/EFMembershipProvider.aspx
- 1. 实体框架简单更新
- 2. 如何在实体框架中更新?
- 3. 实体框架:更新实体时更新另一个实体
- 4. 实体框架更新导航实体
- 5. 实体框架更新实体错误
- 6. 更新子实体实体框架
- 7. 实体框架更新实体?
- 8. 实体框架:更新相关实体
- 9. 如何更新实体在实体框架4 .NET
- 10. 实体框架,WCF&更新
- 11. 实体框架更新
- 12. 实体框架更新
- 13. 实体框架更新?
- 14. 实体框架:如何在实体
- 15. 如何更新我的实体框架
- 16. 实体框架如何跟踪更新?
- 17. 实体框架4 POCO如何更新实体?
- 18. 在ASP .NET中编辑和更新实体框架实体MVC
- 19. 如何在实体框架5/6中实现部分更新?
- 20. 在C#实体框架中使用另一实体更新实体
- 21. 实体框架 - 如何通过实体
- 22. 使用实体框架4.0更新分离的实体实例
- 23. 如何使用实体框架从实体更新单个字段?
- 24. 在实体框架中复制实体?
- 25. 简单的实体框架错误
- 26. 实体框架简单报告
- 27. 更新实体框架中的实体的最佳方法
- 28. 实体框架代码中的奇怪实体更新Code-First
- 29. 如何在实体框架
- 30. 更新实体框架中的外键
我已更新您的Q以包括您拥有自定义会员供应商的事实。因为不知道,我的回答基本上是浪费时间。 – RPM1984 2010-09-21 22:16:26