DataBaseは、SQL Serverで、データはAdventureWorks2022をいれています
→AdventureWorksについて
主キーで絞り込みのように1行データを取得する場合
メソッド | 0件 | 1件 | 2件以上 |
---|---|---|---|
QuerySingle |
例外発生 | レコード | 例外発生 |
QuerySingleOrDefault |
null | レコード | 例外発生 |
QueryFirst |
null | レコード | 最初のレコード |
※Asyncをつければ非同期版
サンプル:
Employee.cs
namespace SampleDapper.Models.HumanResources
{
public class Employee
{
// テーブルから取得したい列の情報を定義
public int BusinessEntityID { get; set; }
public string JobTitle { get; set; } = null!;
public DateTime BirthDate { get; set; }
public char Gender { get; set; }
public DateTime HireDate { get; set; }
}
}
Program.cs
using Dapper;
using Microsoft.Data.SqlClient;
using Microsoft.Extensions.Configuration;
using SampleDapper.Models.HumanResources;
try
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile(@"appsettings.json")
.Build();
var connectStr = config["ConnectionStrings:DefaultConnection"];
using (var connection = new SqlConnection(connectStr))
{
connection.Open();
// 主キーで1件取得するSQL
var sql = "SELECT * FROM HumanResources.Employee WHERE BusinessEntityID = @BusinessEntityID";
// SQL中のパラメータに渡す値を設定
var parameters = new { BusinessEntityID = 36 };
var record = connection.QuerySingle<Employee>(sql, parameters);
}
}
catch(Exception ex)
{
Console.Write(ex.ToString());
}