メタデータ・クラス

by manamana 16. August 2010 15:32
ASP.NET Dynamic Data を調査していてはまったので、その部分をメモ。

元ネタ:Visual Studio 2008 SP1新機能解説(1) (@IT)

ASP.NET Dynamic Data は DB から自動的に CRUD コードを作成してくれる便利機能です。
デザイナーが自動的にコードを作るのは良いけど、出力されたコードに手を入れるのは(ほぼ)不可能です。

それを回避するために、「メタデータ・クラス」が用意されています。
メタデータ・クラスは、データの構成や挙動を定義するための特殊なクラスで、デザイナーとは独立して編集可能です。

メタデータ・クラスで利用可能な主な属性 
分類 属性 概要
基本 ScaffoldColumn(flag) 対象のフィールドを自動生成の対象とするか
ScaffoldTable(flag) 対象のテーブルを自動生成の対象とするか
DefaultValue(value) 新規データ入力時に適用するデフォルト値
表示 Description(msg) データ入力時にツールチップとして表示するメッセージ
DisplayColumn(displayCol [,sortCol [,sortDesc]]) 外部キーで関連付けられた参照先テーブルの表示すべき列を指定(sortDescはsortCol列について降順でソートするか)
DisplayFormat() データ・フィールドを表示するための書式を指定 

プロパティ 概要
ApplyFormatInEditMode 編集モード時に書式文字列を適用するか
ConvertEmptyStringToNull 空文字列をNothing/nullに自動変換するか
DataFormatString 書式文字列
NullDisplayText 値がNothing/nullのときの表示テキスト
UIHint(name) フィールド値の表示/編集に使用するユーザー・コントロールを指定
検証 Range(min, max) データ・フィールドが取り得る値の範囲を定義
RegularExpression(pattern) 指定された正規表現でフィールド値を検証
Required() フィールド値が必須かどうかを指定
StringLength(max) フィールドが受け入れ可能な最大文字数
DataType(type) データ・フィールドと関連付いた追加的な型情報を指定
Validation() 検証にかかわる属性の基本クラス(Validation属性のプロパティは、すべての検証属性で共通して利用可)

プロパティ 概要
ErrorMessage 検証エラー時に表示するエラー・メッセージ
ErrorMessageResourceType エラー・メッセージとして使用するリソースの型
ErrorMessageResourceName エラー・メッセージとして使用するリソースの名前

Partial 機能を使ってカスタマイズ部分を独立させ、それらを特定の約束事(この場合 MetadataType)で関連付ける事により、
特定のプロパティ(≒フィールド)の出力や値の検査を調節できるわけです。

Visual Studio では、いろいろなコードが自動作成されて便利ですが、カスタマイズ時にはかえって大変でした。
この仕組みも初めは???でしたが、手放せない機能になりそうです。

Tags:

Development

Add comment


スポンサーリンク

Calendar

<<  September 2019  >>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

View posts in large calendar

Month List

Twitter