codecamp

QueryFirst

描述

QueryFirst是一个可以从IDbConnection类型的任意对象调用的扩展方法,它可以执行查询并映射第一个结果。

结果可以映射到:

  • 匿名类型
  • 强类型

参数

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

名称 描述
sql 要执行的查询。
param 查询参数(默认为null)。
transaction 需要使用的事务(默认为null)。
commandTimeout 命令执行超时时间(默认为null)。
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.QueryFirst(sql, new {InvoiceID = 1});
}

案例 - 查询强类型

执行查询并将第一个结果映射到强类型列表。

string sql = "SELECT * FROM Invoice WHERE InvoiceID = @InvoiceID;";

using (var connection = My.ConnectionFactory())
{
    connection.Open();

    var invoice = connection.QueryFirst<Invoice>(sql, new {InvoiceID = 1});
}


Query
QueryFirstOrDefault
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }