Dapper 查询列表返回类型



我的代码看起来像这样;

using (IDbConnection cnn = new SqlConnection(GetConnectionString()))
{
var result = cnn.QuerySingle(sql, parameters);
return result;
}

它在类内的方法中,但这无关紧要。据说 QuerySingle 返回一个动态类型,但我以前从未使用过这个类型。当我调试此代码时,它返回的内容如下所示;

{{DapperRow, Tcode = 'eeeee', Hashedpw = 'NF886jMDl5imyMj0ThDIxA==', Salt = 'Z+HHq6Rt60FPnAf80Lg4Dg=='}}

我应该如何阅读本文?它们是键值对,因为背后的逻辑不起作用,它不像列表或数组那样工作。我完全迷失了,不知道这是什么回报。我只需要值,而不是dapperrow,tcode,hashedpw和salt。所以基本上,我需要的回报是

['eeeee', 'NF886jMDl5imyMj0ThDIxA==','Z+HHq6Rt60FPnAf80Lg4Dg=='] 

谁能帮我?

当前您使用的是弱类型QuerySingle(),它将始终返回键值对结果。如果只想检索值,则应使用像这样的强类型QuerySingle()

var result= connection.QuerySingle<TYPE>(sql, parameters);

编辑:如果我让你做对

例如,您可以定义类

public class SomeClass 
{
public string Salt {get;set;}
public string TCode {get;set;}
public string Hashedpw {get;set;}
}

你可以像这样在代码中使用它QuerySingle<SomeClass>如果你在这种情况下返回多个结果,显然你必须像这样使用QuerySingle<List<SomeClass>>()

希望这对您有所帮助。

查看此链接以获取有关 QuerySingle 的帮助

如果您创建另一个类,则如下所示...

public class TestClass
{
public string Tcode { get; set; }
public string Hashedpw { get; set; }
public string Salt { get; set; }
}

。并将您的查询单调用更改为类似这样的东西......

var result = cnn.QuerySingle<TestClass>(sql, parameters);

。像这样的电话...

Debug.WriteLine(result.Tcode);

。将导致eeeee从调试窗口出来

这有帮助吗?

相关内容

最新更新