.Net Core Npgsql Return 单行

.Net Core Npgsql Return Single Row

我只是想知道是否可以在 .Net 核心脚本中使用 Npgsql return 单行。

我一直在使用如下所示的读取方法

NpgsqlCommand command = new NpgsqlCommand (
    " select col01, col02, col03 from table ",
    dbconnection
);
var result = command.ExecuteReader();
while(result.Read()) {
    var varCol01 = result["col01"];
    var varCol02 = result["col02"];
}

这对于单行来说似乎有点过分,因为我必须手动退出 while。

每次您调用 NpgsqlDataReader.Read,您都会阅读额外的一行 - 因此您的代码示例似乎不适合单行场景...

如果你知道你只得到一行,为什么不按照以下方式做一些事情:

var reader = command.ExecuteReader();
reader.Read(); // You can do a Debug.Assert to make sure the result of this is true
var (col1, col2) = (result["col01"], result["col02"]);