2011年01月12日

LINQ to SQL番外編 - ColumnAttribute.UpdateCheck プロパティ

   このエントリーをはてなブックマークに追加 Clip to Evernote
前回の記事でUpdateCheckプロパティについて触れましたが、もう少し詳しくこの
UpdateCheckについてみていきましょう。

このプロパティは、LINQ to SQL がオプティミスティック同時実行競合を検出する方法を
取得または設定するものです。以下の3つの列挙値を利用できます。

  1. Always  競合の検出に常にこの列を使用します。

  2. Never  競合の検出にこの列を使用しません。

  3. WhenChanged  メンバーがアプリケーションによって変更された場合のみ、この列を使用します。

既定値は、Alwaysです。

このプロパティ値を変更することで、オプティミスティック同時実行競合を検出
する方法を変更することができます。

このプロパティ値を変更する手順を示します。

  1. ソリューションエクスプローラで、Northwind.dbmlをダブルクリックし、O/Rデザイナー画面を開きます。

  2. エンティティクラスのプロパティ(以降メンバーと呼びます)をマウスでクリックします。

  3. プロパティウィンドウに、このメンバーに対応したプロパティが表示されます。

  4. [更新チェック]プロパティの値をAlways, Never, WhenChanged から選択します。

この操作をやることで、Northwind.designer.csの 該当プロパティ(メンバー)
のColumn属性のUpdateCheckプロパティの値が変更されます。

なお、このプロパティが有効なのは、どのメンバーも、IsVersion=true として指定されていない場合だけです。

いずれかのメンバーに、IsVersion=true が指定されている場合、UpdateCheckは無効となります。


 

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

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