首页 / 网页编程 / ASP.NET / Linq to SQL加注Data Annotation在Asp.Net MVC2中的应用
Linq to SQL加注Data Annotation在Asp.Net MVC2中的应用2011-11-18 博客园 我-大熊一.写作前提最近正在做一个Asp.Net MVC2的Project,用到了Linq to SQL,但是对于如何在MVC2中使用 Linq to SQL 生成的强类型加注Data Annotation,我们都知道在MVC2中我们可以定义自己的Model,然后给Model 加Data Annotation,从而在View中可以实现完美的Client Validation(这些Data Annotation也我们也可 以去自己定义)。但是对于Linq to SQL 生成的强类型,我们有两个问题,第一,应该如何实现它的Data Annotation;第二,当我们的Database结构发生改变时,我们通常需要把Linq to SQL里相应的对象先删 除,然后再重新映射,这时我们如何保证我们加的Data Annotation只需要进行最小的改动就可以完成对 新映射的支持?下面我们就上面的问题进行分析和提出我们的解决方案。二.通常MVC的做法首先我们来做一个比较,自定义Model加Annotation,如表1所示:图表1:Product Class 的定义1 public class Product 2 { 3 [DisplayName("Product Name")] 4 [Required(ErrorMessage="Product Name is Required.")] 5 [StringLength (50,ErrorMessage="Max Length of Product Name can not greater than 50 characters.")] 6 public string Name 7 { 8 get; 9 set; 10 } 11 12 [DisplayName("Product Type")] 13 [Required(ErrorMessage = "Product Type is Required.")] 14 [StringLength(20, ErrorMessage = "Max Length of Product Name can not greater than 20 characters.")] 15 public string Type 16 { 17 get; 18 set; 19 } 20 }