「三日坊主と呼ばせない!日記」改め。ソフトウェア開発関連の話題。(Daper.NET)は、WebMatrixでも利用する事が出来ます。標準で用意されています。自分で用意したクラスにマッピングすることはできませんし、明示的にトランザクションを使用したい場合も利用できません*1。Databaseクラスに物足りなくなったら、次の選択肢としてはDapperがお勧めです。導入方法等をを軽く紹介してみたいと思います。netを探してインストールしてください。WebMatrix向けパッケージとしても公開されていますので、そのまま検索すれば出てきます。[インストールする]をクリックした後、いくつかライセンスや確認画面が出てきますので、画面の指示に従い操作してください。2.usingする(Importsする)Dapperの主な機能は拡張メソッドで提供されていますので、利用する場合はそのソースコードの先頭でusing(VB.NETの場合はImports)されている必要があります。Razorの場合は、「@uging(VB.NETの場合は@Imports)」という構文を使います。Razor(C#)でのDapperのusing以上で利用準備は終了です。dapperを使ったサンプル最後に、少しだけDapperを使ったサンプルを。CEを利用したサンプルコードになっていますが。ServerやMySQLの場合でもほぼ同じように利用できます*2。1.Database.Queryと同じように使う場合Database.Queryと同じように、dynamicで結果を受ける場合はこんな感じでいけます。RazorでのDapperサンプル(dynamicで受け取る場合)2.クラスにマッピングする場合あらかじめ用意したクラスにマッピングする場合はこんな感じです。マッピング先のクラスUserEntityは、今回は@functionsを使ってインナークラスとして定義しましたが、もちろん別ファイルにしてApp_Codeフォルダ内に配置してもかまいません。RazorでのDapperサンプル(用意した型で受け取る場合)こうしてやれば、利用箇所では当然、コード補完が効くようになります。これもメリットですね。最後に、トランザクションを使いつつUpdateするサンプルです。RazorでのDapperサンプル(トランザクション使ってUpdate)まとめいかがでしたでしょうか。単純に利用するだけなら使用感はDatabaseとさほど変わらないように思いますし、"ちょっとだけ込み入った"事をしたい場合も"ちょっとだけ手間を増やす"事で比較的シンプルさを保ったまま対応できると思います。WebPagesでどこまでヤヤコシイことをやるか?』という話はあるかもしれません。更新系で少し込み入ったことをやろうとすれば、トランザクションの処理が必要になる局面は少なくないように思います。そんな時、選択肢の一つとして考えてみてはいかがでしょうか。netを使ってみた』もよければご覧になってください。*1:DataBase.ConnectionプロパティはSystem.Data.Common.DbConnectionなので一見使えそうですが、DataBase.Query()メソッド等がDbTransactionを考慮しない。結果的に生ADO.NETでやるのと同じになる。*2:Connectionオブジェクトさえ作ってしまえばほぼ同じ。パラメタライズドクエリのバインド変数の書き方がDBごとに違う場合があるくらいだと思います。はてなブログProプログラマです。最近は業務系のwebアプリを触ってることが多いです。ネタもそちら系が多め。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。