nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

Dapper.FastCRUD:ModelGeneratorを使う

Dapper.FastCRUDはDapperのExtensionライブラリです。DapperのExtensionライブラリは多数ありますが、以前に簡単に比較記事を書いていますので、良かったらご覧ください。

Dapperの拡張ライブラリは何がいいのか?ちょっとだけ調べてみた - nuits.jp blog

Dapper.FastCRUDにはDapper.FastCrud.ModelGeneratorという、データベースのスキーマからModelクラスを自動生成してくれるT4テンプレートがNuGet上に公開されています。

本エントリーでは、Dapper.FastCrud.ModelGeneratorを利用してModelクラスを自動生成する方法を解説します。

あと良かったらこちらもどうぞ。

www.nuits.jp

続きを読む

新しめのSQL ServerでサンプルDB Northwind・pubsを使う方法

古めのサンプル DB の Northwind と pubs ですが、特に Northwind は簡単なテストに使いたい時がままあります。つぎのリンクからダウンロードするとmdfファイルが含まれているのですが、互換性の問題でそのままアタッチすることができません。

https://www.microsoft.com/en-us/download/details.aspx?id=23654

ここでは、二つのサンプルDBを新しめの SQL Server で利用する方法を解説します。

続きを読む

リモートのIISへVisual StudioからWebアプリをWeb Deployする

本エントリーでは Visual Studio 上で ASP.NET などで実装した Web アプリケーションをリモートの IIS 上に公開する方法を記載します。

毎回忘れてしまうんですよね…

オンプレミス環境でTFSなどから自動ビルド・自動配置するときにも、この設定が適用できます。

続きを読む

SQL Server でサンプルDBを利用する

SQL Server では公式のサンプルデータベースがGithubで複数公開されています。

github.com

本エントリーではSQL Serverのインストールから、サンプルデータベースの「Adventure Works 2017」を利用する方法について解説します。

ちなみに Adventure Works は非常に素直な?データベース設計です。ただしSQL Server の最新の機能を使いこなしているとは言えません。そういう用途では World Wide Importers が参考になります。World Wide Importers も本エントリーの手順で利用できますので、興味のある方はお試しください。

続きを読む

【連載】ASP.NET Web API を使おう:第6回 Castle.Core DynamicProxy で AOP

本エントリーは連載「ASP.NET Web APIを使おう」の第3回となります。連載の目次はこちら。

www.nuits.jp

さて今回はWeb APIでもAspect Oriented Programing(AOP)をする為、Simple Injector 上でCastle.CoreのDynamicProxyを利用する方法を解説します。実際のところ、Web API に依存する内容ではないため、例えばWPFなどでもSimple Injectorを利用するなら、この方法はそのまま使えます。

という訳で早速始めましょう。

続きを読む

【連載】ASP.NET Web API を使おう:第4回 Simple Injector(DIコンテナ)を適用する

本エントリーは連載「ASP.NET Web APIを使おう」の第3回となります。連載の目次はこちら。

www.nuits.jp

これまでWeb APIを作成し、swagger-codegenを使って生成したクライアントから、作成したAPIを呼び出す方法について説明してきました。

今回はWeb APIつまりサーバーサイドにDependency Injection(DI)コンテナを適用する方法を解説します。DIコンテナーには Simple Injector を今回は選択しました。

DIコンテナは星の数ほどありますが、なぜ Simple Injector を選択したかは、以下の記事をご覧ください。

www.nuits.jp

こちらに記載している内容に加え、次のような観点から Simple Injector を取り上げました。

  • 全体的にモダンなアーキテクチャが採用されているように思えること
  • コミュニティが十分に成熟しているように見えること
  • 結果、ドキュメントなども十分に揃っていること(英語ですが) 

なお本エントリーでは、DI そのものの解説や、Simple Injector の詳細な解説は省きます。

続きを読む