繁体   English   中英

Asp.Net成员 - 实体框架4中的提供商

[英]Asp.Net Membership - Providers in Entity Framework 4

我有一个使用ASP.NET Membership,Entity Framework 4和MS SQL 2008 for DB的网站。

我想知道如果使用ASP.NET成员资格,将使用Entity Framework传递与数据库的交互?

谢谢你的帮助!

对Musa的回答进行了评价,以消除负面影响。 没有提到自定义成员资格提供者,但这并不意味着它不是答案。

他是正确的,没有与框架一起提供的EF4特定提供程序,但您可以构建自己的。

这实际上整合了问题域,因为您可以清理地将用户链接到您的实体对象的其余部分,而不是将成员资格视为一个单独的黑盒子,您必须小心翼翼。

实现这一点的方法确实是通过继承MembershipProvider并实现抽象方法。

一旦你完成了这个,你就可以为用户做任何你想要的事情,而不是生活在打破你默认获得的SQLMembership表和存储过程的恐惧 - 我不喜欢使用,因为它们很难看。

我刚刚完成了这个,使用我自己的EF4模型,我自己的用户实现等。我使用了这个视频附带的示例代码 - http://www.asp.net/general/videos/how-do- i-create-a-custom-membership-provider 顺便说一句,如果您按原样使用该示例代码,请注意存储过程名称中的几个拼写错误!

如果需要自定义成员资格提供程序,则只需创建一个继承MembershipProvider抽象类的类。 然后,您需要实现抽象方法,如ValidateUser,UpdateUser,GetUser等。您可以在实现自定义成员资格提供程序方法时使用EntityFramework。

下面的文档使用odbc实现自定义成员资格提供程序。 您可以使用EntityModel而不是odbc。

http://msdn.microsoft.com/en-us/library/44w5aswa.aspx

http://msdn.microsoft.com/en-us/library/6tc47t75.aspx

不,SqlMembership以及Sql堆栈中的其他提供程序使用直接调用的存储过程。

如果您愿意,可以在aspnet_db数据库之上构建一个EF概念模型,如果您想检查它或与之交互。

但是,我强烈建议您将其视为只读,除非您确切知道要更新或删除的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM