我有一个使用SQL Server设置的Web项目,现在必须迁移到PostgreSQL.我正在使用Entity Framework 6.0版和最新版本的Microsoft.AspNet.Identity来管理用户凭据.我正在使用VS2015和.NET Framework 452.除了AspNet.Identi...
我有一个使用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):
> PostgreSQL.AspNet.Identity.EntityFramework on github.com
第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
基础教程推荐
- C#基于Mongo的官方驱动手撸一个Super简易版MongoDB-ORM框架 2023-04-15
- C#接口在派生类和外部类中的调用方法示例 2022-10-27
- C#实现验证码功能 2023-04-22
- C# 抓图服务的实现 2023-03-28
- C#调用Oracle存储过程方法介绍(附源码) 2023-05-25
- C#设计模式之工厂模式 2023-05-25
- C#实现给Word每一页设置不同图片水印 2023-05-22
- C# 对象持久化详解 2022-10-27
- C#中通过LRU实现通用高效的超时连接探测 2023-01-06
- C#操作配置文件app.config、web.config增删改 2023-06-08