0

我正在了解新的 SimpleMembership 提供程序如何在带有 EF Code First 的 MVC 4 中工作。到目前为止,我的一切工作都很好,但我遇到了一些我不太明白的事情。

由于这行代码,SimpleMembership 自动创建了几个表:

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

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

常识说我只需要编写一些 POCO 类来表示表结构,但感觉应该有一些开箱即用的东西。Microsoft 是否让我们只编写自己的 POCO 类来表示它们的表结构,还是我遗漏了什么?

4

1 回答 1

0

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

这个有可能。为此,我使用了 EF 团队的一个不错的工具http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

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

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

答对了。您可以将 POCO 类添加到您的模型和您的上下文中。并且您可以读取和写入标准的成员资格表。

于 2012-12-30T05:47:49.160 回答