0

我想创建小型网络应用程序。我已经阅读了一些关于如何创建自定义会员提供程序的文章,但我并不清楚。我可以创建自定义数据库,将此数据库与实体框架映射,还是必须使用 aspnetsql_tool.exe(不完全是)?数据库有用户表,并且与其他表有关系。那么你会向我推荐什么?在自定义提供程序中使用 EF 是一种好方法吗?谢谢

4

2 回答 2

1

您的自定义成员资格提供程序可以使用您想要的任何机制和数据库结构,因此实体框架在这里与任何其他 ORM 框架一样合适。如果您选择aspnet_regsql.exe,您将获得数据库结构设置,但您将无法轻松更改此结构。使用 EF 映射此数据库不是一个好主意,因为它可能会在 ASP.NET 的未来版本中更改。

所以我想说,您要么选择由自定义创建的默认成员数据库结构,aspnet_regsql.exe要么使用您现有的表并自己实施自定义提供程序。

于 2013-03-20T13:11:59.600 回答
1

您可以创建自定义数据库并将其与 EF 映射。您不需要使用生成数据库表的工具。

完成此演练:自定义成员资格提供程序

您需要删除 ODBC 代码并将 EF 代码放在那里,这应该可以解决大部分问题。


你应该注意观察你的上下文返回的数据,如果它是一个全局上下文,你最终可能会得到过期的数据。

EF 上下文实例化(刚刚检查了链接,似乎不再起作用,但我会将它留在这里以防它再次出现)


一些帮助我的链接:

http://dotnetunplugged.com/2011/04/05/openfaq-part-3-custom-membership-provider-in-entity-framework-code-first/


您可能还会发现这很有用:

http://efmembership.codeplex.com/

https://github.com/OmidID/Ado.net-Entity-Framework-Membership-Provider

于 2013-03-20T13:09:15.397 回答