如何防止在DataBase First Model中删除DataAnnotations属性

时间:2012-02-10 15:30:31

标签: asp.net-mvc entity-framework data-annotations edmx database-first

我的asp.net mvc 3应用程序包含实体框架,我使用Database First模型进行设置。

我的步骤如下:  1.使用表格生成数据库  2.创建ADO.NET实体数据模型文件(.edmx)并导入表  3.在设计中我添加了一个Code Generation项,并使用了ADO.NET DbContext Generator  4.使用所有表格模型

制作的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属性将会消失。

我的问题: 我如何使用数据库第一模型仍然编辑模型进行特定验证,如我可以免费使用代码第一模型? (请不要第三方工具解决方案) 感谢

2 个答案:

答案 0 :(得分:9)

你需要使用好友类。请参阅我过时但仍然有用的文章http://msdn.microsoft.com/en-us/library/ee256141(v=vs.98).aspx

答案 1 :(得分:1)

Use ViewModels in your Views。这将使您的EF实体与UI逻辑分离。