gpt4 book ai didi

c# - 无法使用 PostgreSQL 配置 AspNet.Identity

转载 作者:太空狗 更新时间:2023-10-30 00:48:43 25 4
gpt4 key购买 nike

我有一个使用 SQL Server 设置的 Web 项目,现在必须迁移到 PostgreSQL。我使用 Entity Framework 6.0 版和最新版本的 Microsoft.AspNet.Identity 来管理用户凭据。我正在使用 VS2015 和 .NET Framework 452。

除了 AspNet.Identity 之外,该项目在 PostgreSQL 服务器上运行良好。当我尝试注册新用户或登录时,我收到了 this question 中描述的相同错误消息 。相同的错误,相同的行,但问题已有 2 年历史,给出的解决方案对我不起作用(我已多次尝试添加迁移和更新数据库)。

其他一切正常,我已经检查过并且我的 postgreSQL 数据库包含任何与 AspNet.Identity 相关的表,即使它们是在项目使用 SQL Server 时自动创建的。其他与模型相关的表存在且有效。

谢谢。

最佳答案

我无法使 Microsoft 的 AspNet.Identity 与 postgresql 一起工作,它似乎是为与 SQL Server 一起工作而设计的,无论您做什么,它都不承认存在不同的数据上下文配置。

我现在在外部库的帮助下一切正常,所以我会提供我的问题的答案,以防其他人遇到这个问题。

我遵循了以下项目中的说明(归功于 vincechan):

第 2 步有点问题。将项目导入我的解决方案后,我必须解决其中的引用问题。在包管理器控制台中,您可以安装丢失的包和/或更新过时的包。我的最终配置需要使用:

  • Npgsql 3.2.2 在我的主要项目上(使用 EntityFramework6.Npgsql)
  • Npgsql 2.2.7 在下载的项目上(使用 Npgsql.EntityFramework)

一切准备就绪后,添加新迁移 (Add-Migration <migration-name) 并更新数据库 (Update-Database)。

现在执行创建身份相关表的 SQL 脚本,它们将不会自动创建,就像在 SQL Server 中所做的那样。该脚本包含在项目中(文件 PostgreSQLIdentity.sql )。

现在一切正常。请原谅这个答案的糟糕格式。

关于c# - 无法使用 PostgreSQL 配置 AspNet.Identity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44201467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com