如何摆脱自动生成模型中的Entity Framework属性?

时间:2015-09-22 17:43:48

标签: c# entity-framework annotations

从Visual Studio中的表生成模型时,我得到的这些属性并不是我真的觉得我有任何用处。有没有办法删除它们?

public partial class TableModel
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]

    ...

另外我还想知道,如果我在模型中添加了几个自定义属性而不是表中的列,那么下次更新模型时它们会被删除吗?当我在表格中添加一列时,例如?

1 个答案:

答案 0 :(得分:1)

您不应该修改Visual Studio生成的这些类。 它们是作为部分类生成的,因此您可以创建一个新的分部类并在其中添加自定义属性,如下所示:

public partial class TableModel 
{
    public int Foo { get; set; }
}

这些名称应与生成的类位于同一名称空间中。 这样您就不必处理您不想看到的注释,如果重新生成模型,您的自定义属性将不会被删除。

如果你想删除注释,可以使用VS中的替换文件来轻松删除它们(如果有许多不同的注释,可以提供确切的文本或正则表达式。)