diff --git a/IRC.Core.SCP/HostConfig/EFSetup.cs b/IRC.Core.SCP/HostConfig/EFSetup.cs index 77d9465c8..921f293b9 100644 --- a/IRC.Core.SCP/HostConfig/EFSetup.cs +++ b/IRC.Core.SCP/HostConfig/EFSetup.cs @@ -19,7 +19,7 @@ namespace IRaCIS.Core.SCP //这个注入没有成功--注入是没问题的,构造函数也只是支持参数就好,错在注入的地方不能写DbContext //Web程序中通过重用池中DbContext实例可提高高并发场景下的吞吐量, 这在概念上类似于ADO.NET Provider原生的连接池操作方式,具有节省DbContext实例化成本的优点 - services.AddPooledDbContextFactory(options => + services.AddDbContext(options => { // 在控制台 //public static readonly ILoggerFactory MyLoggerFactory = LoggerFactory.Create(builder => { builder.AddConsole(); }); @@ -42,11 +42,11 @@ namespace IRaCIS.Core.SCP }); - // Register an additional context factory as a Scoped service, which gets a pooled context from the Singleton factory we registered above, - services.AddScoped(); + //// Register an additional context factory as a Scoped service, which gets a pooled context from the Singleton factory we registered above, + //services.AddScoped(); - // Finally, arrange for a context to get injected from our Scoped factory: - services.AddScoped(sp => sp.GetRequiredService().CreateDbContext()); + //// Finally, arrange for a context to get injected from our Scoped factory: + //services.AddScoped(sp => sp.GetRequiredService().CreateDbContext()); //注意区分 easy caching 也有 IDistributedLockProvider services.AddSingleton(sp => diff --git a/IRaCIS.Core.API/_ServiceExtensions/EFSetup.cs b/IRaCIS.Core.API/_ServiceExtensions/EFSetup.cs index 17aa20a19..820a2a67e 100644 --- a/IRaCIS.Core.API/_ServiceExtensions/EFSetup.cs +++ b/IRaCIS.Core.API/_ServiceExtensions/EFSetup.cs @@ -26,7 +26,7 @@ namespace IRaCIS.Core.API //这个注入没有成功--注入是没问题的,构造函数也只是支持参数就好,错在注入的地方不能写DbContext //Web程序中通过重用池中DbContext实例可提高高并发场景下的吞吐量, 这在概念上类似于ADO.NET Provider原生的连接池操作方式,具有节省DbContext实例化成本的优点 - services.AddPooledDbContextFactory(options => + services.AddDbContext(options => { // 在控制台 @@ -80,10 +80,10 @@ namespace IRaCIS.Core.API }); // Register an additional context factory as a Scoped service, which gets a pooled context from the Singleton factory we registered above, - services.AddScoped(); + //services.AddScoped(); - // Finally, arrange for a context to get injected from our Scoped factory: - services.AddScoped(sp => sp.GetRequiredService().CreateDbContext()); + //// Finally, arrange for a context to get injected from our Scoped factory: + //services.AddScoped(sp => sp.GetRequiredService().CreateDbContext()); //注意区分 easy caching 也有 IDistributedLockProvider services.AddSingleton(sp => diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 0644e35c3..210224194 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -51,11 +51,12 @@ namespace IRaCIS.Core.Infra.EFCore public readonly ILogger _logger; - public IRaCISDBContext(DbContextOptions options, ILogger logger + public IRaCISDBContext(DbContextOptions options, IUserInfo userInfo, ILogger logger ) : base(options) { - _logger= logger; + _userInfo= userInfo; + _logger = logger; }