依赖注入中的 AddScoped

AddScoped in dependency injection

我一直在阅读,我在我的 EF Core 项目中使用 AddScoped 是最好的,这样我可以使用许多上下文进行更新,这样我就可以在我执行 SaveChanges 时停止 'already tracked' 错误消息。

这是我的依赖注入代码。只是徘徊我如何使这个 'AddScoped' 而不是单身人士?

任何帮助都会很棒,因为我对这个依赖注入、EF Core 等还很陌生

 public override void Configure(IFunctionsHostBuilder builder)
    {
        // CCT database
        builder.Services.AddDbContext<sqldbCCTUKSATPPreProdContext>(
            options =>
            {
                const string ConnString = "SQLConnectionStringCCT";
                options.UseSqlServer(Configuration.GetConnectionString(ConnString)).UseQueryTrackingBehavior(QueryTrackingBehavior.TrackAll);
            });
        // CL database (Segimport DB)
        builder.Services.AddDbContext<sqldbCLSegImportUKSATPPreProdContext>(
            options =>
            {
                const string CLConnString = "SQLConnectionStringCL";
                options.UseSqlServer(Configuration.GetConnectionString(CLConnString)).UseQueryTrackingBehavior(QueryTrackingBehavior.TrackAll);
                options.EnableSensitiveDataLogging();

            });

AddDbContext 默认将上下文注册为范围 - 请参阅 contextLifetime 的默认值 ServiceLifetime.Scoped。您关于“已跟踪”的问题来自其他地方。