dbml文件更新的问题
用O/R设计器设计好数据库之后,在生成的实体类中加入了一些验证代码。
现在有一个数据库表要新加几个字段,问题是无论我把表删了,重新拖进去,还是直接在设计界面中的相应表上新加属性。
在保存过之后,我原来添加的那些验证代码都会被删除掉,也就是其他表也被全部更新了。
我如何只更新局部呢?除了直接去修改.cs中的代码,有没有什么好的方法呢?
[解决办法]
使用自定义特性在数据模型中自定义数据字段验证:
http://msdn.microsoft.com/zh-cn/library/cc668224.aspx
利用 partial class 可以将 metadata 描述分离到另一个 cs 文件里去。
例如:
- C# code
[MetadataType(typeof(LogOnModelMetadata))] public partial class LogOnModel { class LogOnModelMetadata { [Required] [Display(Name = "User name")] public string UserName { get; set; } [Required] [DataType(DataType.Password)] [Display(Name = "Password")] public string Password { get; set; } [Display(Name = "Remember me?")] public bool RememberMe { get; set; } } }