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; }
}
如果我有一个 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; }
}