私は .NET 4.0 WinForms アプリケーションを使用しており、Model First Approach で Entity Framework 5 を使用しています。VS EF デザイナーで、型のスカラー プロパティを多数持つエンティティを 12 個ほど作成し、String
プロパティ ツールバーで、DB の要件に合わせてそれらの パラメーター (つまり、一般パラメーター、ファセットパラメーター) を構成しました。
BLレイヤーでは、メソッドを使用するなどして、エンティティオブジェクトに正しい値が含まれているかどうかを確認する目的でエンティティオブジェクトを検証できますDbContext.Entry(Of T)(entity).GetValidationResult()
。しかし、WinForms の GUI レイヤー入力フィールド検証も開発する必要があります。エンティティ セット プロパティのメタデータ値に基づいて動的 GUI 検証を実装し、BL 検証を GUI 検証と同期させ、記述されたソース コードの冗長性を回避したいと考えています。
私の質問は、実行時に自動生成されたエンティティのメタデータ値、特にファセット メタデータ値 (つまり、 Fixed Length、Max Length、Nullable ) を取得するにはどうすればよいですか?
私が知っているように、手動で作成された部分クラスのプロパティ属性に基づくデータ注釈を利用する可能性があります。ただし、モデル ファーストのアプローチでは、このソリューションには冗長性の問題と、VS EF Designer の [プロパティ] ツールバーとデータベースからのメタデータとの同期の問題も含まれる場合があります。