猿教程 Logo

Dapper-QuerySingleOrDefault

描述

QuerySingleOrDefault方法是可以从IDbConnection类型的任何对象调用的扩展方法。 它可以执行查询并映射第一个结果,如果序列为空,则可以是默认值; 如果序列中有多个元素,则此方法将抛出异常。

结果可以映射到:

  • 匿名类型

  • 强类型

参数

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

名称描述
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.QuerySingleOrDefault(sql, new {InvoiceID = 1});
}



示例 - 查询强类型

执行查询并将第一个结果映射到强类型列表,如果序列为空,则将其映射到默认值; 如果序列中有多个元素,则此方法将抛出异常。

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



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