微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一个使用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). 现在一切都应该有效.原谅这个答案的格式不佳.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐