Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Dapper querysingle导致EndOfStreamException_C#_Postgresql_Dapper - Fatal编程技术网

C# Dapper querysingle导致EndOfStreamException

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() 我不知道为什么会出现这个异常以及它

对于一个非常特定的查询,我得到一个流结束异常

它总是发生在同一个查询中,并且这个查询可以很容易地作为SQL查询执行,但是

但使用dapper及其连接查询,它似乎以某种方式失败了

我获取
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"});