如何在自动生成模型中摆脱实体框架属性

本文关键字:实体 框架 属性 自动生成 模型 | 更新日期: 2023-09-27 18:13:54

当在Visual Studio中从表生成模型时,我得到了这些属性,我真的觉得我没有任何用处。有办法去除它们吗?

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

还有另一件事我想知道,如果我已经添加了一对夫妇的自定义属性的模型,不存在作为列在表中,他们会被删除下次我更新模型?当我向表中添加了一列时,例如?

如何在自动生成模型中摆脱实体框架属性

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

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

这些应该与生成的类在同一个命名空间中。这样你就不必处理你不想看到的注释,而且如果你重新生成你的模型,你的自定义属性也不会被删除。

如果你想删除注释,它们可以很容易地在文件中使用Replace删除。在VS中(如果有许多不同的注释,可以提供确切的文本或正则表达式)