EF 核心 DbSet 的不可空警告

Non-nullable warning with EF core DbSet

如果我有一个 DbContext 如下(这是一个标准的数据库上下文):

public class MyContext : DbContext, IAudit
{
    public MyContext(DbContextOptions options) : base(options) { }
    
    public DbSet<Audit> Audit { get; set; }
}

public interface IAudit
{
    DbSet<Audit> Audit { get; set; }
}

我启用了可空引用类型。

我在构造函数上收到警告:

不可为空 属性 'Audit' 退出构造函数时必须包含非空值。考虑将 属性 声明为可为 null。

我怎样才能让这个警告消失(并保留界面)?

我就是这样修好的。需要将 属性 设为只读。

public class MyContext : DbContext, IAudit
{
    public MyContext(DbContextOptions options) : base(options) { }
    
    public DbSet<Audit> Audit => Set<Audit>()
}

public interface IAudit
{
    DbSet<Audit> Audit { get; }
}