2010年11月18日

LINQ to SQL 番外編 - DataContext.OnCreateって何?

   このエントリーをはてなブックマークに追加 Clip to Evernote
NorthwindDataContextのコンストラクタでは、OnCreateというメソッドを呼び出しています。

これってなんでしょうか?
Northwind.designer.csのNorthwindDataContextクラスの定義を見てみると、

とパーシャルメソッドとなっています。

つまり、NorthwindDataContextのパーシャルクラスに、OnCreated()メソッドを定義すれば、
このメソッドが、NorthwindDataContextインスタンス生成時に呼び出されるということです。

試しに、OnCreatedメソッドを実装してみましょう。

プロジェクトに、クラスの追加で、NorthwindDataContext.csというファイルを新規作成し、
そこに、以下のように記述します。
これで、再度ビルドし実行すれば、
が実行された時点で、

 NorthwindDataContext Created

とコンソールに出力されることがわかると思います。
この機能を使うことで、ログ出力などのカスタムコードを挿入することが可能になります。

その他のパーシャルメソッドについても、カスタムコードを挿入する際に利用できるものだと
思いますが、調べきれていません。
もし、気が向いたら調べたいと思います。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52089711