C# Dapper querysingle导致EndOfStreamException
对于一个非常特定的查询,我得到一个流结束异常 它总是发生在同一个查询中,并且这个查询可以很容易地作为SQL查询执行,但是 但使用dapper及其连接查询,它似乎以某种方式失败了 我获取C# Dapper querysingle导致EndOfStreamException,c#,postgresql,dapper,C#,Postgresql,Dapper,对于一个非常特定的查询,我得到一个流结束异常 它总是发生在同一个查询中,并且这个查询可以很容易地作为SQL查询执行,但是 但使用dapper及其连接查询,它似乎以某种方式失败了 我获取EndOfStreamException:试图读取流的末尾。 This exception was originally thrown at this call stack: Npgsql.NpgsqlReadBuffer.Ensure.__EnsureLong|0() 我不知道为什么会出现这个异常以及它
EndOfStreamException:试图读取流的末尾。
This exception was originally thrown at this call stack:
Npgsql.NpgsqlReadBuffer.Ensure.__EnsureLong|0()
我不知道为什么会出现这个异常以及它在哪里出错——这只会返回一个带有特定参数集的特定查询并出错
我不确定我是否理解这个错误是由实际的SQL查询引起的,还是由解析到它的参数引起的,因为我的querySingle是作为
IDictionary<string, object> insertedEntityRegistration = connection.QuerySingle(insertNewRegistrationSql, parameters);
对于
插入您需要使用的语句,而不是QuerySingle()
例如,在您的案例中:
var insertSqlStatement = "your INSERT query here";
var affectedRows = connection.Execute(insertSqlStatement, new {ParameterName = "ParemeterValue"});
在insertedEntityRegistration
中,您是否正在进行INSERT
?您可以发布一个您正在传递给连接.QuerySingle()
方法的查询示例吗?查看SQL语句肯定会有很大帮助。我添加了生成的SQL语句-它在执行时似乎没有失败,因为我可以毫无问题地执行。@anuar我添加了一个SQL示例哪个示例?您对其他INSERT
语句使用QuerySingle()
?是。。但我还需要将输出添加到此对象IDictionary
INSERT INTO table (a,b,c,d,e,f,g,h)
VALUES (1, tsrange('0001-01-01T00:00:01', '9999-01-01T00:00:02'), 'Application', tsrange('0001-01-01T00:00:01', '9999-01-01T00:00:02'),
'name','mail',4511,4511)
RETURNING a,b,c,d,e,f,g,h;
var insertSqlStatement = "your INSERT query here";
var affectedRows = connection.Execute(insertSqlStatement, new {ParameterName = "ParemeterValue"});