Very Lightweight Data Access Layer

Very Lightweight Data Access Layer in C# and .NET 2.0 - The CodeProject

CodeProjectの新着記事より。

業務では管理状態にあるSQLだけを使用するので機能豊富なO/Rマッピングなデータレイヤは必要無いというシステム(今の自分の仕事もそうだ)の場合、この程度のアノテーションでも充分使えるという見本のようなサンプル。ただしこの手の仕組みは最初はシンプルでも使っていくうちにどんどん膨れて、最後は「Hibernateもどきを作っちゃいました」という結果になることを避ける必要がある。(再発明に意味があれば別に構わないけど)
記事の下のコメントにあるように「Null値は?」とか「1:Nは?」とかやりだすときりが無い。DAOはあくまでDAOとして潔い実装をするべきで、それが出来ないのであれば最初から既存のO/Rマッピングフレームワークを使った方が良い。