使用EF Code First从SimpleMembership获取成员资格记录

时间:2012-12-30 05:32:21

标签: c# asp.net-mvc ef-code-first simplemembership

我正在探讨新的SimpleMembership提供程序如何使用EF Code First在MVC 4中工作。到目前为止,我已经把一切都运行得很好了,但是我遇到了一些我不太了解的事情。

SimpleMembership通过以下代码行自动创建多个表:

WebSecurity.InitializeDatabaseConnection("DatabaseContext", "User", "Id", "Email", autoCreateTables: true);

我有一个名为“User”的Code First实体来存储我所有特定于域的用户数据。因此,使用WebSecurity类,我可以通过各种方式获取我需要的用户ID,然后查询我的用户实体以获取我的域特定数据。但是,由于SimpleMembership自动创建的“webpages_xxxx”表没有POCO类,因此我无法通过EF轻松访问这些类。具体来说,我有兴趣获取webpages_Membership表,这样当我有一个用户ID时,我可以获得“IsConfirmed”,“PasswordVerificationToken”等字段。

常识说我只需要编写一些POCO类来代表表结构,但感觉应该有一些更开箱即用的东西。微软是否让我们只编写我们自己的POCO类代表他们的表结构,或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果我理解,您的方案是:使用SimpleMembership,然后首先使用代码访问数据,我的表位于同一个数据库中。

这是可能的。 我使用EF团队的一个很好的工具,http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d用于此目的。

使用 EF powertool ,您可以生成用于访问现有数据库的CodeFirst代码

HOW: 安装powertool。 (见上面的链接) 将鼠标放在项目代码应该去的地方。 右键单击项目, 选择实体框架,从数据库中反向工程代码。

宾果。您可以将POCO类添加到模型和上下文中。并且您可以读取和写入标准会员表。