C#
定石2: Dapperを導入する最小コード
出典: ASP.NET MVC 5 で使える ORM 3択 — EF6 / Dapper / ADO.NET の業務SE 視点比較 — 定石2: Dapperを導入する最小コード
// ✅定石2: Dapper最小コード(SQLを書きつつマッピングは自動)
using Dapper;
public class CustomerController : Controller
{
public ActionResult Index()
{
using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyDb"].ConnectionString))
{
// ↓ SQLを渡すだけでCustomerVmにマッピングしてくれる
var customers = conn.Query<CustomerVm>(
"SELECT id AS Id, name AS Name FROM customers WHERE status = @s",
new { s = "active" }
).ToList();
return View(customers);
}
}
}
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
Source収録記事
この snippet は記事の「定石2: Dapperを導入する最小コード」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
6 件// ✅定石1: ADO.NET最小コード(ControllerのAction内で使う) public class CustomerController : Controller { public ActionResult Index()未収録
定石1: ADO.NETをそのまま使う最小コード
#e9cb6d6ad0b0
// ✅定石3-a: DbContextの定義 using System.Data.Entity; public class MyDbContext : DbContext未収録
定石3: EF6 + Code First Migrationの最小コード
#7308bc553108
#初回Migrationを作成 PM> Add-Migration Initial #生成されたMigrationクラスを確認(Migrations/202605120500_Initial.cs)未収録
定石3: EF6 + Code First Migrationの最小コード
#ee07412c4f8d
// ✅定石3-b: EF6でControllerからDBアクセス public class CustomerController : Controller { private MyDbContext _db = new MyDbContext();未収録
定石3: EF6 + Code First Migrationの最小コード
#f4027ae95f4a
PM> Update-Database -Verbose #表示例: # Target database: 'MyApp_Dev' (DataSource: 'localhost', ...)未収録
3. Update-Database -Verboseの表示
#2e355dea38a5
# ✅定石4-c:本番にはScriptで安全にMigrationを適用 # 1.ローカルでScriptを生成 PM> Update-Database -Script -SourceMigration:InitialDatabase -TargetMigration:AddCustomerEmail未収録
業務系チームの運用ルール
#dc0f54b73839
