猿教程 Logo

Dapper - QueryFirstOrDefault

QueryFirstOrDefault方法是可以从IDbConnection类型的任何对象调用的扩展方法。 它可以执行查询并映射第一个结果,如果序列不包含元素,则可以执行默认值。

结果可以映射到:

  • 匿名类型

  • 强类型



参数

下表显示了QueryFirstOrDefault方法的不同参数。

名称描述
sql要执行的查询。
param

查询参数 (默认为 null)。

transaction

要使用的事务 (默认为 null)。

commandTimeout

命令超时 (默认为空)

commandType

命令类型 (默认为 null)



First, Single & Default

注意使用正确的方法。First和Single的方法是非常不同的。

结果没有项有一项有多项
First抛出异常返回该项返回第一项
Single抛出异常返回该项
抛出异常
FirstOrDefault返回默认返回该项返回第一项
SingleOrDefault返回默认返回该项抛出异常



案例-匿名类型

执行查询并将第一个结果映射到动态列表, 如果序列不包含任何元素, 则为默认值。

string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
using (var connection = My.ConnectionFactory())
{
    connection.Open();
    var invoice = connection.QueryFirstOrDefault(sql, new {InvoiceID = 1});
}



案例-强类型

执行查询并将第一个结果映射到强类型列表,如果序列不包含元素,则将其映射到默认值。

string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";
using (var connection = My.ConnectionFactory())
{
    connection.Open();
    var invoice = connection.QueryFirstOrDefault<Invoice>(sql, new {InvoiceID = 1});
}



版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Dapper/dapper-QueryFirstOrDefault.html