【发布时间】:2013-08-22 03:25:12
【问题描述】:
我对 ASP.NET MVC(以及一般的 ASP.NET)非常陌生,并且将获得一些关于这项技术的知识,所以很抱歉我可以问一些琐碎的问题。我已经安装了 ASP.NET MVC 3 RC1,我正在尝试执行以下操作。
让我们考虑一下,我有一个模型,它完全是使用 VS2010 中的“LINQ to SQL 类”模板从表中自动生成的。模板生成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 {
...
虽然这种方法效果很好......直到我在 DBML 设计器中更改模型,自动删除 ASP.NET MVC 属性。那么,如何安全地为 DBML 模型及其字段指定 ASP.NET MVC 属性?
提前致谢,圣诞快乐。
更新 #1:
在期待回复的同时,我发现了这样的东西:
【问题讨论】: