使用 postgresql 的实体框架版本不支持数据类型“位”

问题描述 投票:0回答:1

我一直在更新我的 .NET Framework 4.8 应用程序,使用 Entity Framework 6 和 Amazon Aurora Cluster 生态系统中的 PostgreSQL 数据库。 我正在使用数据库优先方法并将 Npgsql 作为数据提供者。我还添加了 Npgsql PostgreSQL Integration 扩展以使用数据模型向导。

单击实体数据模型向导后,生成的 .edmx 显示警告:

生成过程中发现的错误: 警告 6005:目标 Entity Framework 版本当前不支持数据类型“bit”;表“table1”中的列“column1”被排除在外。

一切正常,但所有位类型列都被跳过并且不包含在模型中,因为位不是原始的 postgresql 数据类型。

我无法修改数据库结构,因为我的应用程序只是连接到现有的生态系统。

我已经尝试手动修改 .edmx 文件,通过为所有位数据类型添加 bool 类型来调整 SSDL / CSDL / 映射内容和模型本身。但这不起作用 - 结果为:

错误 40:类型 bool 未使用名称空间或别名限定。只能使用原始类型而无需限定

Npgsql + Entity Framework + 列类型为 bit 的 Edmx 不是解决方案,因为我无法修改数据库。

有没有办法为此指定自定义映射?
非常感谢解决这个问题的任何帮助。

版本:

版本
.NET 框架 4.8
实体框架 6.4.4
EntityFramework6.Npgsql 6.4.3
PostgreSQL(在 Amazon Aurora 集群中) 13.7

编辑:添加了我正在使用 PostgreSQL 处理 Amazon Aurora 集群的注释

.net postgresql entity-framework npgsql ef-database-first
1个回答
0
投票

经过几个小时的研究,没有办法做到这一点。我最终提出了更改整个数据库结构的请求。

© www.soinside.com 2019 - 2024. All rights reserved.