C# Can';将数据库类型tsvector转换为字符串
我刚刚开始使用PostgreSQL,正在尝试执行全文搜索。我在表中有一些记录,其中有一列C# Can';将数据库类型tsvector转换为字符串,c#,postgresql,npgsql,C#,Postgresql,Npgsql,我刚刚开始使用PostgreSQL,正在尝试执行全文搜索。我在表中有一些记录,其中有一列search,类型为tsvector。这一切都很好。但是,使用Npgsql,我尝试执行: using (var cmd = new NpgsqlCommand()) { cmd.CommandText = "SELECT search FROM data"; cmd.Prepare(); var reader = cmd.ExecuteReader(); } 但我一直收到一个无效的例
search
,类型为tsvector
。这一切都很好。但是,使用Npgsql,我尝试执行:
using (var cmd = new NpgsqlCommand())
{
cmd.CommandText = "SELECT search FROM data";
cmd.Prepare();
var reader = cmd.ExecuteReader();
}
但我一直收到一个无效的例外
说
无法将数据库类型tsvector强制转换为字符串
我假设我还需要添加一些东西来正确转换类型,但是NpgSql的文档似乎几乎不存在。这是不能做到的,还是我应该换一种方式来做呢?我对NpgsqlCommand一无所知,但您是否尝试过这样的方法:
var stringResponse= cmd.ExecuteReader().GetString(0);
不完全是那种语法,但你让我想到了正确的方向,所以我会把它标记为已接受。出于某种原因,我的调试器在我的
ExecuteReader()
上中断,但问题实际上是GetString(0)
的问题,而我正在做的只是稍微深入一点。我假设只得到该字段中任何内容的字符串表示(类似于C#.ToString()
)。但显然不是<代码>获取值(0)对我来说很有用。