在没有构造函数注入的情况下,如何在.net 6中实例化customFilterAttribute类中的dbcontext



在我的program.cs文件中,我将DB服务设置为

builder.Services.AddDbContext<ADbContext>(options =>
{
options.UseSqlServer(builder.Configuration.GetConnectionString("ADevDB"));
});

在databaseconetext类下面我有

public class ADbContext : DbContext
{
public ADbContext(DbContextOptions<ADbContext> options) : base(options)
{

}
}

我试图在没有构造函数注入的自定义过滤器类中访问EFCore。这是因为当我在一个动作上应用[CustomFilter]时,我不希望它请求一个参数需要传递给DBConetext的customFilter构造函数

var connectionstring = "Connection string";
var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
optionsBuilder.UseSqlServer(connectionstring);

ApplicationDbContext dbContext = new ApplicationDbContext(optionsBuilder.Options);
// Or you can also instantiate inside using
using(ApplicationDbContext dbContext = new ApplicationDbContext(optionsBuilder.Options))
{
//...do stuff
}

查看这个问题的各种答案

最新更新