Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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# NPoco中任意查询的处理_C#_Npoco - Fatal编程技术网

C# NPoco中任意查询的处理

C# NPoco中任意查询的处理,c#,npoco,C#,Npoco,我觉得我在这里遗漏了一些明显的东西,我如何通过NPoco运行查询并检索任意数量的可能不同类型的值作为结果 示例 假设我有一张这样的桌子: |-------------------|------------| | ID | AMOUNT | DATE | |-------------------|------------| | 1 | 2300 | 01/02/2014 | | 2 | 400 | 03/02/2014 | | 3

我觉得我在这里遗漏了一些明显的东西,我如何通过NPoco运行查询并检索任意数量的可能不同类型的值作为结果

示例

假设我有一张这样的桌子:

|-------------------|------------|
| ID    |    AMOUNT | DATE       |
|-------------------|------------|
| 1     |      2300 | 01/02/2014 |
| 2     |       400 | 03/02/2014 |
| 3     |      1200 | 06/02/2014 |
| 4     |       950 | 06/02/2014 |
|-------------------|------------|
我想使用以下内容(MSSQL)查询此表:

所以我想我会使用类似于下面的代码,其中
db
是一个NPoco
数据库
对象

var result = db.Query(<query string>);
但我无法理解访问/使用结果的语法,而且这一切看起来非常笨拙,我肯定我一定是走错了方向

总结如下:


如何使用NPoco运行返回不同(任意)类型列的查询,然后访问和使用这些值?

尝试使用
db.FirstOfDefault(queryString)
而不是
db.query
,然后从字典中获取值(键是列名)。查询只返回一行,因此您可以从结果中简单地获取第一个字典:

result = db.Query<Dictionary<string, object>>(queryString)
var dictionary = result.First();

之后,您可以简单地将对象转换为所需的数据类型。(例如使用)

你在正确的轨道上。查询只返回一行,因此您可以从结果中简单地获取第一个字典:

result = db.Query<Dictionary<string, object>>(queryString)
var dictionary = result.First();

之后,您可以简单地将对象转换为所需的数据类型。(例如使用)

非常感谢,这帮我解决了这个问题。我知道这会很简单!非常感谢,这帮我解决了问题。我知道这会很简单!实际上,如果您只期望(并且可以处理)一个,那么SingleOrDefault会更好。实际上,如果您只期望(并且能够处理)一个,那么SingleOrDefault会更好。那么他的原始代码就可以正常工作了。
result = db.Query<Dictionary<string, object>>(queryString)
var dictionary = result.First();
dictionary["MOST_RECENT_ORDER_DATE"]
dictionary["TOTAL_AMT_OF_ORDERS"]