带有实体框架 6 的 Postgresql(数据库优先方法)

Posted

技术标签:

【中文标题】带有实体框架 6 的 Postgresql(数据库优先方法)【英文标题】:Postgresql with Entity Framework 6 (database first approach) 【发布时间】:2015-07-27 09:31:09 【问题描述】:

是否可以将EF6Postgresql 数据库一起使用但使用数据库优先方法?我发现了一些需要手动编写基于 db 结构的 c# 类的解决方案,这对我来说并不令人满意。我想像Sql server 一样使用它,所以我从列表中选择服务器和数据库,然后选择我想要使用的表和 voilà

我所做的是安装npgsql。我可以在服务器资源管理器选项卡中添加这个数据库,但是当我想创建 ADO.NET 实体模型时,我在列表中找不到这个数据库。

【问题讨论】:

这有帮助吗github.com/npgsql/npgsql/wiki/… 修正错字,突出显示技术,更改标签更具体。 cloud.githubusercontent.com/assets/806698/6134234/… 不幸的是,我收到错误消息“您的项目引用了最新版本的实体框架....”。我尝试了不同版本的 EF 和 npgsql,通过 nuget 安装 npgsql 以及从 C:\Program Files (x86)\The Npgsql Development Team\Npgsql\Npgsql-2.2.4.3-net45 手动选择引用,这样的错误每次都会显示我.目前我已经安装了 EF 6.1.3 和 npgsql 2.2.4.3(npgsql.ef 2.2.4.3 也是)。 我的错误是将第二个监听( 块)添加到 App.config 。现在好了,谢谢 【参考方案1】:

是的,这是可能的。首先,将此扩展添加到 Visual Studio 2019 社区版(我使用的 IDE)中:Npgsql PostgreSQL 集成

然后,使用 Nuget 包管理器,添加:

EntityFramework6.Npgsql Npgsql

然后您可以继续添加您的 ado.net 实体数据模型/数据库。可以很好地添加表格,但我在功能和视图方面遇到了挑战。

【讨论】:

以上是关于带有实体框架 6 的 Postgresql(数据库优先方法)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JPA 2 实体中映射 postgresql“带有时区的时间戳”

带有 Mysql 和 NullReferenceException 的实体框架 6

如何使用带有实体框架 6 的 TNS 别名连接到 Oracle DB?

Postgresql 和实体框架

使用带有实体框架 6 的存储库模式更新记录

.NET 6 带有实体框架的新 LINQ 功能