c# - 数据库第一个自动类导致CA2214 : Do not call overridable methods in constructors

标签 c# entity-framework

EntityFramework 6.1 自动生成的类:

public partial class STUDENT
{
    public STUDENT()
    {
        this.STUDENT_GROUPS = new HashSet<STUDENT_GROUPS>();
    }
    public int ID { get; set; }
    public int PERSON { get; set; }
    ...
    public virtual ICollection<STUDENT_GROUPS> STUDENT_GROUPS { get; set; }
    ...
}

和 STUDENT_GROUPS:

public partial class STUDENT_GROUPS
{
    public int ID { get; set; }
    public int GROUPS_GRP { get; set; }
    public int STUDENT { get; set; }

    public virtual STUDENT STUDENT1 { get; set; }
    public virtual GROUPS_GRP GROUPS_GRP1 { get; set; }
}

抛出 CA2214:不要在构造函数中调用可覆盖的方法,但由于这是自动生成的代码,我认为我不应该更改它,我应该如何处理这种情况? 提前致谢

最佳答案

您发布的代码没有抛出错误,它只是违反了代码分析规则并且可以正常工作。生成的代码是正确的,并且在设计上允许延迟加载。您应该抑制这些文件的警告。

关于c# - 数据库第一个自动类导致CA2214 : Do not call overridable methods in constructors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24908186/

相关文章:

c# sql 插入。使用未分配的局部变量?

c# - MySQL C# 值插入和 connection.open() 无法正常工作

c# - 有人有一种聪明的方法将 DTO 视为更多的 OO 类吗?

c# - 如何让一个抽象类需要一个接口(interface)由后代类实现?

c# - JSON将不同的命名对象反序列化为集合c#

c# - 在C#中将xml数据解析成一个数组

entity-framework - 集合的 EF Code First 映射

c# - 在三层项目中放置 DTO/POCO

entity-framework - EF6 - UTC 日期时间

c# - Entity Framework 5 InvalidOperationException 重新加载