2011年01月23日

LINQ to SQL番外編 - 「LINQ to SQLエンティティクラス」に検証を追加する

   このエントリーをはてなブックマークに追加 Clip to Evernote

今回は、「LINQ to SQLエンティティクラス」にデータの検証ロジックを追加する方法を 説明します。
検証ロジックを追加することで、特定の列が変更されたときに検証を行う ことが可能になります。
O/Rデザイナーが生成する「LINQ to SQLエンティティクラス」には、いくつかの パーシャルメソッドが用意されており、
このパーシャルメソッドを実装することで、 データの挿入、変更時における検証処理を実現できます。


■検証コードの作成手順

ここでは、(LINQ to SQLエンティティクラスの)CategoryクラスのCategoryNameカラムが
変更された時に、ある検証を行うための手順を示します。


  1. O/Rデザイナーで、.dbmlを開きます。

  2. デザイナーに表示されるCategoryクラスを右クリックし、[コードの表示]をク リックします。

  3. 選択したクラスのパーシャルクラスが表示されますので、このクラス内で、 以下のように、"partial " までタイプすると、
    インテリセンスが働き、メソッド一覧が表示されますので、実装したいメ ソッド(OnCategoryNameChanging)を選択してください。
     
  4. OnCategoryNameChangingを選択すると、以下のようなコードが挿入されます。
     
  5. メソッドに検証ロジックを追加できます。ここでは、すべてが数字ならエラーにしています。
     
これで、検証ロジックを追加することができました。



■検証ロジックの動作確認

以下のようなコードを書いて、動作を確認してみます。

 

★の行で、OnCategoryNameChanging()が呼び出され、例外が発生しているのを確認できると思います。


 

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

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