我有带 Entity Framework 的asp.net mvc 3应用程序,并使用数据库优先模型进行了设置。
我的步骤如下:
1.用表生成数据库
2.创建ADO.NET实体数据模型文件(.edmx)并导入表
3.在设计中,我添加了一个代码生成项,并使用了ADO.NET DbContext Generator
4.与所有表Models一起制作的Model1.tt持有人
我已经编辑了模型,并使用DataAnnotations属性更新了模型(仅作为示例,这是众所周知的)
public class LogOnModel
{
[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; }
}
现在,当我对数据库进行更改并将其更新到edmx文件时,所有模型都将被覆盖,并且DataAnnotations属性将消失。
我的问题:
我该如何使用数据库优先模型并仍然编辑模型以进行特定验证,例如我可以免费使用代码优先模型?
(请不要使用第三方工具解决方案)
谢谢
最佳答案
您需要使用伙伴类。请参阅我过时但仍有用的文章http://msdn.microsoft.com/en-us/library/ee256141(v=vs.98).aspx
关于asp.net-mvc - 如何防止在DataFirst First模型中删除DataAnnotations属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230198/