ADO.NET のラッパー

昨日は OLE DB.NET と MySQL Connector/NET のラッパークラスを公開したわけですが、そうなると当然 ADO.NET(SQLServer) 用のラッパークラスも欲しくなります。そこで ついでに作ってみました。といっても元々これを VB.NET で作ってまして、その後 MySQL 版を作成。そして急遽入用があって OLE DB.NET 用に C# で書き直したのが昨日の記事だったわけです。

で、参照系処理の場合、こんな感じで使えます。


更新系だとこんな感じになる・・・


しかしテーブルアダプターという便利なものがありながら、なんでわざわざラッパークラスを使うのかというのはワケがありまして、

  • 不特定多数の環境に導入できるようにする必要がある。
  • 客先によりビジネスルールが変わりカスタマイズが発生するため、スキーマに変更が生じる恐れがある。

これだとテーブルアダプターは返って使いづらいのですよ。そこで ADO.NET のラッパークラスの出番となるわけです。
GOF でいうなら Facade パターン―サブシステムを隠蔽化する―に当たりますね。このラッパーの場合は、ADO.NET 自体を隠蔽するワケです(完全ではありませんが)。
ちなみにVS2008 SP1 より、「ADO.NET Entity Framework」という新しい技術が導入されました。たいへん興味あるのですが、こちらも上記二つの要件に対応するのはちと難しそうですね。


以下、ソースです。

 

2010/10/10 追記

コードを少し修正しました。

2015/01/29 追記

リクエスト頂いたので VB 版あっぷしましたぁ。