プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

C# DapperでDB接続する方法(トランザクション編)

■環境

OS:Windows

言語:C♯

DB:SQL Server

フレームワーク:.NET Framework4.8

 
 


■事前準備

DapperやDBの事前準備はこちらを参照

C# DapperでDB接続する方法

 
 


■トランザクション設定

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using DbConnection.Models;
using Dapper;

namespace DbConnection.Controllers
{
    public class SampleController : ApiController
    {
        public void Get()
        {
            //接続文字列
            //string connectionStr = @"Server=[サーバー名];Database=[データベース名];Trusted_Connection=True;"; *SQL Serverの場合
            string connectionStr = @"Server=localhost;Database=sqlserver;Trusted_Connection=True;";

            using (var connection = new SqlConnection(connectionStr))
            {
                //DB接続
                connection.Open();

                //クエリ
                var query = "INSERT INTO test VALUES (@Id, @Name)";

                //パラメーター
                var param = new Test()
                {
                    Id = 1
                    , Name = "test1"
                };

                //トランザクション開始
                using (var tran = connection.BeginTransaction())
                {
                    try
                    {
                        //クエリ実行
                        var retCd = connection.Execute(query, param, tran);

                        //コミット
                        tran.Commit();
                    } catch (Exception e)
                    {
                        //ロールバック
                        tran.Rollback();
                    } finally
                    {
                        //明示的なDB切断
                        connection.Close();
                    }
                }
            }
        }
    }
}

 
 


ログの設定も行いたい場合はこちら

C# NLogによるログ設定