asp.net-mvc - 如何防止在DataFirst First模型中删除DataAnnotations属性

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

我有带 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/

相关文章:

css - 覆盖元素上 "form-control"类的边距样式

jquery - 对话框 Jquery 不工作

mysql - 插入多行时出现 NonUniqueObjectException 错误,LAST_INSERT_ID() 返回 0

c# - 如何使用 Entity Framework 执行存储过程并从存储过程中获取输出

c# - Entity Framework 中首先从数据库更新模型的元数据不起作用

asp.net-mvc-4 - 最小和最大字符串长度的单独错误消息 - MVC4 数据注释

c# - 向 Entity Framework 中的表添加虚拟列?

c# - 如何知道项目是代码优先还是数据库优先?

c# - 使用数据注释创建外键