dapper

Entity FrameworkでTPT(Table Per Type)

今ごろ感ありますがEntity FrameworkでTPT(Table Per Type)を試しました。 データを追加する方法や取得する方法、どんなクエリになるのか、最終的には派生クラスではなく基本クラスだけを取得できるのかといったことを確認することが目的でした。 クエリは…

dapper dot net - 1対多のテーブルをコレクションプロパティにマッピングする

いつものごとくタイトルが微妙な気もしますが、やりたいことは「DBに注文テーブルと注文明細テーブルがあって、注文明細のコレクションを持っている注文にマッピングしたい」といった感じのことです。 てことでマッピングするクラスです。 // 注文 class Ord…

Entity Framework - パラメータを渡してSQLを実行する

Entity Frameworkを使って直接SQLを実行したいときがあって、さらにパラメータの渡し方が気になったので試していました。 まず直接SQLを実行するメソッドは2つ用意されています。 Database.SqlQuery メソッド (System.Data.Entity) Database.ExecuteSqlComma…

dapper dot net - splitOn パラメータのカンマ区切り

去年のこの時期に試していた splitOn パラメータの続きです。 以前の記事はこちら。 dapper dot net で1レコードを"Id"列以外で分割してマッピングする(splitOn パラメータ) - いちろぐ 今回は 1レコードを複数のオブジェクトにマッピングする際に、複数の…

dapper dot net でジェネリック型にマッピング

当然なのかもしれませんが、dapper dot net を使ってジェネリック型にもマッピングできました。 試したサンプルコードを残しておきます。 // マッピングするモデル class Sample<TValue> { public TValue Value { get; set; } } // Sample<int>にマッピング var result1 =</int></tvalue>…

dapper dot netで列挙型にマッピングする

dapper-dot-netは列挙型へのマッピングにも対応しています。 ドキュメントには書いていないようなんですが、テストコードにはありました。 早速試してみます。 まずは列挙型のプロパティにマッピング。2つとも"Monday"と表示されます。文字列もenumにマッピ…

dapper dot netで1レコードを"Id"列以外で分割してマッピングする(splitOnパラメータ)

前回はdapper-dot-netを使って1レコードを複数オブジェクトにマッピングしてみました。 dapperはIDカラム名が"Id"と仮定して1レコードを複数のオブジェクトにマッピングしているようです。("Id"列をキーに分割してると言った方が分かりやすいかも。) impor…

dapper dot netで1レコードを複数のオブジェクトにマッピングする

dapper-dot-netを使って、2つのテーブルをjoinして取得した1レコードを2つのオブジェクトにマッピングしてみます。 まずはこんなモデルを用意します。 class Category { public int Id { get; set; } public string Name { get; set; } } class Book { publi…