メタデータ・クラス

by manamana 16. 8月 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

コメントを書く


スポンサーリンク

Calendar

<<  11月 2024  >>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar

Month List

Twitter