ASP.NET Dapperを使ってwhere句を使用する
- 作成日 2021.10.16
- ASP.NET Core
- ASP.NET
ASP.NET Coreで、Dapperを使ってwhere句を使用するまでの手順を記述してます。
環境
- OS windows10 pro 64bit
- VSCODE 1.56.2
- postgres sql 13.3
- .NET Core 3.1.409
Dapper追加
「Dapper」と、DB接続に「Npgsql」を使用してます。
nugetで、どちらも追加してます。
nugetを追加したら、「F1」キーを押下して「NuGet Package Manager: Add Package」を選択して
「Dapper」と「Npgsql」と入力してバージョンを指定すれば、追加することができます。
「.csproj」は以下の通りです。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Npgsql" Version="5.0.5"/>
<PackageReference Include="Dapper" Version="2.0.90"/>
</ItemGroup>
</Project>
ここで利用する「postgres sql」の「book」テーブルには、以下のデータが入ってます。
Model作成
Modelフォルダを作成して「BookItem.cs」を以下の内容で作成します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Book.Models
{
public class BookItem
{
public int Id { get; set; }
public string Name { get; set; }
}
}
where句を使用
モジュール「Book.Models」を使用して、以下のクエリを実行すれば、idが「1」のデータを取得することができます。
connection.Query<BookItem>("SELECT * FROM book WHERE id = @ID", new { ID = 1 });
where in は、以下のように使用します。
connection.Query<BookItem>(
"SELECT * FROM book WHERE id = ANY (@ids)",
new { ids = new[] { 1, 2 } });
以下でも可能です。
connection.Query<BookItem>(
"SELECT * FROM book WHERE id in (@ids1,@ids2)",
new { ids1 = 1, ids2 = 2 });
-
前の記事
Hyper-VにUbuntu 21.10を構築する 2021.10.16
-
次の記事
rails6 view内で配列の値ごとに改行する 2021.10.17
コメントを書く