自分のモデルのデータアニメーションをデータベースから直接取得する方法はありますか? 私は多くのデータとテーブルを持つデータベースを持っているので、データベースからエンティティフレームワークを使ってモデルを生成しています。クラスを取得しますが、エンティティフレームワークや他のormがデータベースから適切性と制約を直接得、 [必須]または[データ型(データ型.emailadress)]のようなデータアノテーションとしてクラス内にあります。asp.net mvcのモデルデータアノテーション
0
A
答えて
1
はい。
public class LocalizedModelMetadataProvider : DataAnnotationsModelMetadataProvider
{
protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType,
Func<object> modelAccessor, Type modelType, string propertyName)
{
var metadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName);
if (containerType == null || propertyName == null)
return metadata;
// Load all metadata from your database here.
return metadata;
}
}
私はほぼ完了し、モデルや検証メッセージの両方のためのすべてのローカライズ(ゼロ・コード)を扱うことができる管理エリアを持っていGriffin.MvcContribと呼ばれるプロジェクトを作成しています:あなたはModelMetadataProviderクラスを継承することができます。データベースのサポートを得るために、あなただけの次のインタフェースを実装することができ、それを使用することにより
:
// the actual code file has detailed explanations of each method.
public interface ILocalizedStringProvider
{
string GetModelString(Type model, string propertyName);
string GetModelString(Type model, string propertyName, string metadataName);
string GetValidationString(Type attributeType);
string GetEnumString(Type enumType, string name);
}
更新
はどこに重要ではありません。また、モデルでDataAnnotation属性([Display]
属性)を使用する必要はありません。属性を使用できるようにするには、DataAnnotationsModelMetadataProvider
を継承しました。
- どこにでもクラスを作成します。データベース
- 設定MVCから読む
- は、Global.asaxの中でそれを使用するには
例:私は、私の溶液中で個別のプロジェクトで私のモデルクラスを生成する
ModelMetadataProviders.Current = new YourModelMetadataProvider();
関連する問題
- 1. ASP.NET MVCで@Transactional in ASP.NET MVC
- 2. asp.net MVCのカスタムタグMVC
- 3. ASP.Net VS ASP.Net MVC
- 4. MVC 3のASP.NET MVC 4テンプレート
- 5. Spring MVCとASP.NET(MVC?)
- 6. asp.net WebForms&asp.net MVCセキュリティオプション
- 7. ASP.NET 4.0対ASP.NET MVC
- 8. ハイブリッドASP.NET/ASP.NET MVCアプリケーションのIndex.aspx
- 9. ASP.Net MVCのLoginStatus?
- 10. ASP.NET MVCのデフォルトパラメータ
- 11. Asp.Net MVCのチェックボックスリスト
- 12. のDateTimePicker ASP.NET MVC
- 13. Asp.netのiText MVC
- 14. ASP.NET MVCのアーキテクチャ
- 15. ASP.NET MVCのローカリゼーション
- 16. ASP.NET-MVCのコントローラパス
- 17. ASP.Net MVCのスレッドセーフティー
- 18. ASP.NET MVCのエンティティダイアグラム
- 19. MonoのASP.NET MVC
- 20. ASP.NET MVCのレイヤー
- 21. ASP.Net MVCのイベント
- 22. asp.netのデータモデルヘルプMVC
- 23. asp.net mvcのローカリゼーション
- 24. ASP.NET MVCのアーキテクチャ
- 25. ASP.NET MVCのロギングエラー
- 26. Asp.netのAjax mvc
- 27. のasp.net MVC 2
- 28. Asp.net MVCのTextArea
- 29. ASP.NET MVCのアンダーラインビュー
- 30. のasp.net MVCと
私のモデルフォルダにあるので、 mvcのソリューションでは、私は新しいクラスを追加し、生成されたクラスからコードをコピーし、私は手動のデータアノテーションを追加します。 modelmetadataProviderクラスを継承する場所を具体的に指定できますか? – GoranB
私の更新を読んでください。 – jgauffin
あなたはステップ2)データベースからの読み取りと3)私はちょっと混乱しているので、私はModelMetaDataProvideクラスを作成する必要がありますこのような何かをしたことはありませんか? – GoranB