我一直在更新我的 .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 集群的注释
经过几个小时的研究,没有办法做到这一点。我最终提出了更改整个数据库结构的请求。