Dapper-Query2
描述
本章介绍查询的其他方法,包括有:
执行查询方法并返回映射结果
映射结果有:
- 匿名对象
- 强类型
参数
| 参数名 | 描述 |
|---|---|
| sql | 执行的sql命令脚本 |
| param | 执行命令的参数,默认为null |
| transaction | 事务参数,默认为null |
| commandTimeout | 命令超时时长,默认为null |
| commandType | 命令类型,默认为null |
QueryFirst | QueryFirstOrDefault | QuerySingle | QuerySingleOrDefault
返回结果 | 无结果 | 一个结果 | 多个结果
---|---|---|---|---
QueryFirst | 异常 | 一个结果 | 多个结果中第一个结果
QueryFirstOrDefault | 默认结果 | 一个结果 | 多个结果中第一个结果
QuerySingle | 异常 | 一个结果 | 异常
QuerySingleOrDefault | 默认结果 | 一个结果 | 异常
QueryFirst
执行查询并将第一个结果映射到匿名对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QueryFirst(sql, new { InvoiceID = 4 });
执行查询并将第一个结果映射到强类型对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QueryFirst<Invoice>(sql, new { InvoiceID = 4 });
QueryFirstOrDefault
执行查询并返回结果,若结果为空,则返回默认值,若返回多个结果,将抛出异常,若是单个结果,则映射给匿名对象或强类型对象
匿名对象
查询结果映射给匿名对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QueryFirstOrDefault(sql, new { InvoiceID = 4 });
强类型对象
查询结果映射给强类型对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QueryFirstOrDefault<Invoice>(sql, new { InvoiceID = 4 });
QuerySingle
执行查询并返回结果,若结果为空或者返回多个结果,将抛出异常,反之映射给匿名对象或强类型对象
匿名对象
查询结果映射给匿名对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QuerySingle(sql, new { InvoiceID = 4 });
强类型对象
查询结果映射给强类型对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QuerySingle<Invoice>(sql, new { InvoiceID = 4 });
QuerySingleOrDefault
执行查询并返回结果,若结果为空或者返回多个结果,将抛出异常,反之映射给匿名对象或强类型对象
匿名对象
查询结果映射给匿名对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QuerySingleOrDefault(sql, new { InvoiceID = 4 });
强类型对象
查询结果映射给强类型对象
string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
var res = Rep.QuerySingleOrDefault<Invoice>(sql, new { InvoiceID = 4 });

浙公网安备 33010602011771号