私はASP.NET MVC(一般的にはASP.NET)の新機能で、この技術の知識を得るために申し訳ありませんが、私はいくつかの簡単な質問をすることができます。私はASP.NET MVC 3 RC1をインストールして、私は次のことをやろうとしています。自動生成されたデータモデルのASP.NET MVC属性を指定する
VS2010の "LINQ to SQL Classes"テンプレートを使用してテーブルから完全に自動生成されたモデルがあるとしましょう。テンプレートは3つのファイル(それぞれ2つの.csファイルと1つの.layoutファイル)を生成し、生成された部分クラスはMVCモデルとして使用されることが期待されます。のも考えてみましょう、それをモデルにマッピングされています単一のDBの列は、次のようになります。
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "VarChar(128)")]
public string Name {
get {
return this._Name;
}
set {
if ((this._Name != value)) {
// ... generated stuff goes here
}
}
}
ASP.NET MVCエンジンはまた、いくつかの追加のものを指定する美しい宣言的な方法を提供しRequiredAttribute
、DisplayNameAttribute
様および他の素敵な属性。このアプローチは完璧に動作しても
[Required]
[DisplayName("Project name")]
[StringLength(128)]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage = "_Name", DbType = "VarChar(128)")]
public string Name {
...
...私は変更するまで:マッピングされたモデルは、純粋に自動genereatedモデルですので、しかし、私は手動でモデルを変更する、などのフィールドを指定してはならないことに気づきましたDBMLデザイナーのモデルはASP.NET MVC属性を自動的に削除します。では、DBMLモデルとそのフィールドのASP.NET MVC属性を安全に指定するにはどうすればよいですか?
ありがとうございます、そして、メリークリスマス。
更新#1:応答を期待している間
、私はそのようなものを発見した:
- http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx - 私
- MetadataType and client validation in ASP.NET MVC 2のために動作しません - 地雷があると思われますその複製物
- http://goneale.com/2009/03/04/using-metadatatype-attribute-with-aspnet-mvc-xval-validation-framework/ - 私のために最も約束します
1、キーがアップで提供することです1つのデータにすべてのルールを適用するというアイデアです。最初は難しい闘いですが、それに見合った価値があります。 –
返事ありがとう、Jani。しかし、私は例を見つけました、それは私に近いです。 http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspxから取られ、 'MetadataTypeAttribute'を使用しますが、何らかの理由で動作しません。 –
@Lyubomyr私はそれが単にDisplayNameの機能を持っていない検証のためだと思った、間違っていますか? –