Dapper

ASP.NET Core 2.1にて追加されたHttpClientFactory(とその周辺)を試す

お断り 試した環境は以下の通りで、それ以外の環境については一切試していません。 Visual Studio Community 2017 (15.6) Miscrosoft.AspNetCore.App (2.1.0-preview1-final) Miscrosoft.NETCore.App (2.1.0-previwe1-26216-03) HttpClient についてのアレコ…

Dapperにて、TVP(テーブル値パラメーター)を扱う

たとえば、以下のようなテーブル定義と、 CREATE TABLE [dbo].[TodoItems]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [IsDone] [bit] NOT NULL, CONSTRAINT [PK_TodoItems] PRIMARY KEY CLUSTERED ([Id] ASC) ) 以下のようなユ…

Dapper.SqlBuilderでパラメータ指定するもう少しマシな方法

mrgchr.hatenablog.com 以前の投稿で、Dapper.SqlBuilderにパラメータを渡す際に、 var builder = new SqlBuilder(); var pageTemplate = builder.AddTemplate(pageSql); var countTemplate = builder.AddTemplate(countSql); if (userId.HasValue) { builde…

Dapper.SqlBuilderに機能を追加してみる

Dapper.SqlBuilderはシンプルながら便利なライブラリです。 mrgchr.hatenablog.com 今回は独自機能を追加してみようと思います。

Dapper.SqlBuilderで膨大な数のレコードのページ表示を適応的にする

膨大な数のレコードをページ表示する際に、アプリケーション側にページサイズよりも大きい数のデータを読み込むことは効率的ではありません。 今回はDapper.SqlBuilderを用いてページ表示を効率化させてみます。

DapperのSQLプレースホルダをコーディングミスに強くする方法を考える

(追記アリ) DapperのSQLプレースホルダでコーディングミスをしたので対応策の備忘録です。 文字列でのパラメータ指定が大嫌いなんです DapperやADO.NETはSQL中に"@“から始まる文言を用いることでプレースホルダを表現できます。 例えば下記の例では”@userId"…

Dapperで一対多の関係性をネストされたオブジェクトにマッピングする

Dapperを用いて一対多の関係をマッピングする方法の備忘録です。 例 データベースのテーブル定義は下記の通りです。 CREATE TABLE [dbo].[Users] ( [Id] INT NOT NULL PRIMARY KEY, [Name] NVARCHAR(64) NULL ) CREATE TABLE [dbo].[TodoItems] ( [Id] INT N…