如果我有一个dbml文件,其中包含一个Customer类,其中包含一个名为CompanyName的属性;
public partial class Customer : INotifyPropertyChanging, INotifyPropertyChanged
private string _CompanyName;
public string CompanyName
{
get
现在,鉴于上面的内容是在dbml中生成的,我显然应该避免像瘟疫那样编辑它。
所以我创建了另一个类似的那样;
public partial class Customer
{
[Required]
public string CompanyName{get;set;}
}
原因是因为我想将我的字段装饰成必需的。
但是这不起作用,因为我收到编译错误“...已经包含'CustomerID'的定义”。
有没有人知道这方面的方法,还是有更好的方法来根据需要标记字段或验证模型?
答案 0 :(得分:1)
解决方案是使用MetadataType属性以及包含数据验证注释的附加类。
请参阅:http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx
答案 1 :(得分:1)
或者您可以使用ViewModel模式。这也为您提供了灵活性,可以在您想要使用下拉菜单时将模型绑定到视图。我们将它与AutoMapper一起使用。