【问题标题】:ASP.Net Identity with WebForms to existing SQL database带有 WebForms 的 ASP.Net Identity 到现有 SQL 数据库
【发布时间】:2014-02-10 16:42:57
【问题描述】:

我尝试了 ASP.Net 身份,它工作正常。 然后,我尝试使用此处提供的预先创建的脚本使其与现有 SQL 数据库一起工作:SQL script for creating an ASP.NET Identity Database

我将默认连接字符串更改为 web.config 中定义的字符串:

 public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("MyDatabaseEntities")
    {
    }
}

我愚蠢地认为这就是我需要更改的所有内容,因为表已创建并且我将其指向 SQL 数据库。 当我尝试注册新用户时,错误消息是: {“实体类型 ApplicationUser 不是当前上下文模型的一部分。”}

问题:我缺少什么来完成这项工作?是否有使用实体框架在现有 SQL 数据库中实现身份的最佳实践? 谢谢。

【问题讨论】:

  • EF 和 Code First 还是 DB First 哪个版本?
  • EF6 将首先使用 DB,因为已经创建了一个已经设置为使用 EF 的 SQL 数据库。谢谢。
  • 请考虑检查过滤器文件夹中的SimpleMembershipInitializer 和模型中的UsersContext。身份的 sql 脚本错过了 Membership Provider 使用的一些表。

标签: c# asp.net entity-framework webforms asp.net-identity


【解决方案1】:

您可以使用 ASP.NET 身份数据库。这是 Visual Studio 的 SQL 数据库项目模板,可用于使用 创建自定义 ASP.NET 身份/成员资格提供程序数据库优先开发方法。

请查看以下链接以获取更多信息:

ASP.NET Identity Database

【讨论】:

  • 我最近发现了这个。它创建数据库就像我在上面发布的链接一样,除了它在用户表中有更多字段。这也是我计划做的事情,但是这已经完成了,这很棒。我遇到的问题是“ApplicationUser”。所以我没有正确连接。有没有我缺少的配置?谢谢。
【解决方案2】:

我们决定,因为我们将创建一个新数据库,所以我们将遵循代码优先的方法。

对于那些感兴趣的人,我发现了这个Use ASP.NET Identity on existing DB-Model,它非常好。我试着跟着它,但最后卡住了,自从决定了 CF 以来,我不想花太多时间。

感谢您的帮助

【讨论】:

    猜你喜欢
    • 2018-12-13
    • 1970-01-01
    • 2015-07-21
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2015-04-22
    • 2019-03-16
    相关资源
    最近更新 更多