npgsql 相关问题

Npgsql是PostgreSQL的.NET数据提供程序。它允许为.NET框架开发的任何程序访问PostgreSQL数据库服务器。它以100%C#代码实现。

42703:b.Id列不存在

我有一个使用 Postgresql 的简单 EF 实现,它返回错误 {“42703:列b.Id不存在 位置:8"}。也许您想引用“...

回答 1 投票 0

为什么 NpgsqlDataReader 从 V3 开始变慢了?

我正忙着将使用 Postgres 数据库 v9 的旧系统升级到 v14, 我需要在 C# .NetFramework 4.6.1 应用程序上将 Npgsql 库从当前版本 2.2.7 更新到 4.1.12。 在我的

回答 1 投票 0

Postgres ENUM 类型在第一次运行时对 dapper 不可见

我在使用 Postgres 枚举时遇到了一个奇怪的问题,尝试使用 ENUM 查询表时遇到错误,但前提是在同一会话期间运行 CREATE 命令。我不知道为什么...

回答 2 投票 0

当请求从具有重复字段的 protobuf 请求映射时,Npgsql 8.0 不再工作

使用 Npgsql 7.x 和 Dapper 的代码在 net 8 上工作正常。 它们在 Npgsql 8.0 中不起作用。 公共类位置{公共NpgsqlPoint点{获取;放; } } 公共异步任务&...

回答 1 投票 0

Npgsql 8.0 & Dapper 不再映射 NpgsqlPoint 数据类型

我知道 Npgsql 8.0 发行说明 https://www.npgsql.org/doc/release-notes/8.0.html 状态: “内置几何类型(NpgsqlPoint、NpgsqlBox 等)的解析函数已被删除...

回答 1 投票 0

如何使用 Npgsql 从 SELECT 中获取所有查询结果

我需要以 JSON 形式获取查询结果,但如果列是 JSONarray,我一直遇到问题:它会转换为字符串 我当前使用的代码: var 结果 = 新列表 我需要以 JSON 形式获取查询结果,但如果列是 JSONarray,我一直遇到问题:它会转换为字符串 我当前使用的代码: var result = new List<Dictionary<string, object>>(); await using (var cmd = new NpgsqlCommand("SELECT * FROM global", conn)) await using (var reader = await cmd.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { var row = new Dictionary<string, object>(); for (int i = 0; i < reader.FieldCount; i++) { row[reader.GetName(i)] = reader.GetValue(i); } result.Add(row); } } var jsonResult = JsonConvert.SerializeObject(result, Newtonsoft.Json.Formatting.Indented); Console.WriteLine(jsonResult); 输出: [ { "id": 1, "banned": false, "strikes": "[]" }, { "id": 2, "banned": false, "strikes": "[\"nooob\"]" } ] 例外输出: [ { "id": 1, "banned": false, "strikes": [] }, { "id": 2, "banned": false, "strikes": ["nooob"] } ] 默认情况下,Npgsql 会将 JSON 列读取为字符串,因此您需要将其解析为 JSON,以便序列化程序正确处理它(否则您将获得双重序列化的值)。沿着这些思路(未测试): for (int i = 0; i < reader.FieldCount; i++) { var name = reader.GetName(i); var value = reader.GetValue(i); value = name == "strikes" ? JArray.Parse(value) : value; row[name] = value; } 请注意,根据文档,您可以更改默认映射。例如,通过使用 NpgsqlJsonNetExtensions(因为您使用的是 Newtonsoft Json.NET 序列化器): 要使用 Json.NET,请将 Npgsql.Json.NET 包添加到您的项目中,并启用该插件。

回答 1 投票 0

事务未升级为分布式事务

我有类似于以下的控制器代码(此处匿名)。我预计由于 EF Core 6 中缺乏分布式事务支持而引发异常,并且我预计代码会尝试...

回答 1 投票 0

Npgsql 的多个数据库上下文导致迁移失败

我有一个 .NET 8 Web 应用程序,并且正在使用带有 Npgsql 8.0.1 的实体框架。 我正在使用 NpgsqlDataSourceBuilder 初始化多个数据库上下文,如此处所述。 程序.cs //数据库上下文1 ...

回答 1 投票 0

如何使用 Npgsql 从 PostgreSQL 过程 refcursor 参数获取数据

我们正在从本地 SQL Server 迁移到云托管的 PostgreSQL。我们的数据库正在自动翻译,这导致了许多程序将数据返回为

回答 2 投票 0

Postgresql jsonb 枚举映射

Postgresql 在将 enum 映射到 jsonb 字段时写入索引值。如何用枚举值替换它? 默认情况下,模型中的任何枚举属性都将映射到数据库整数。 EF Core 2.1...

回答 2 投票 0

使用 EF Core 和 Postgres 检查 bool 列的约束

我正在将 EF Core 与 Postgres 结合使用。我想创建一个仅一行的“配置”表,这意味着: 添加具有默认值的位列 添加检查约束以确保列 ha...

回答 1 投票 0

Dapper 和 Postgres - 打印查询

我将 Dapper 与 Postgres 一起使用,我想记录一些诊断信息,尤其是正在运行的实际查询。 如果我使用 SQL Server 我会这样做 让连接=新的SqlConnection(

回答 1 投票 0

Classlibrary 输出类型中的 Npgsql 汇编错误

我必须在nunit测试中通过Npgsql提供程序连接到postgresql,但我遇到了汇编错误: System.IO.FileLoadException:无法加载文件或程序集“Npgsql, 版本=4.0.1.0,Cul...

回答 2 投票 0

删除读取器实例后,Aurora PostgreSQL 查询失败并出现错误“尝试读取超过流末尾”

我一直在具有 1 个写入器实例和 1 个读取器实例的 Aurora PostgreSQL 集群上运行查询。 我的应用程序位于 .NET6 中,它使用 Npgsql 库连接到集群。我...

回答 1 投票 0

Postgresql - 准备好的语句与连接池 - 这是一个权衡吗?

我的理解是,您可以在 Postgresql 中使用准备好的语句或连接池(使用 pgPool/pgBouncer 等工具),但同时只能从其中之一中受益(至少使用 Np...

回答 3 投票 0

使用 EntityFrameworkCore 和不同架构初始化数据库时出现 System.MissingMethodException

我在尝试初始化数据库时遇到问题。我的应用程序中有两个 DbContext,IdentityDbContext 和 AuctionhouseDbContext,两者都使用相同的数据库但不同的 sc...

回答 1 投票 0

比较时间时LINQ表达式无法翻译

我试图查找是否有任何电影即将开始,因此检查之前或它已经开始,因此检查之后。 我使用 DateTimeOffset 来跟踪时间,因为......

回答 1 投票 0

.Net PostgreSQL NpgsqlBatch。应用“设置时区”来选择查询

如何将 SET TIME ZONE 应用于 NpgsqlCommand? 尝试 1. 在 CommandText 中设置时区,与选择分开; 使用 var cmd = connection.CreateCommand(); cmd.CommandText = "设置时区...

回答 1 投票 0

EntityFramework6.Npgsql - 如何读取类型为“不带时区的时间”的列

我有一个 postgresql 数据库,我使用 Entity Framework 6 和 Npgsql 连接到该数据库。我的表有一列带有定义 time_column 没有时区的时间 我正在尝试将其读入属性

回答 1 投票 0

此 npgsqltransaction 已完成,不再可用

最近我们从MSSQL数据库迁移到PostgreSQL数据库。为了通过 .NET 访问 PostgreSQL,我们使用 PostgreSQL 的 NpgSql ADO.NET 提供程序。我们收到错误“...

回答 2 投票 0

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