dotnet核心中的Dbcontext對象瞬態

entity-framework-core

我正在使用實體框架在dotnet核心中創建一個webapi應用程序。當我瀏覽文檔時。我可以使用DI在dotnet核心中註入dbcontext對象。但是當我使用一個dbcontext對象執行整個應用程序時。如何使dbcontext成為瞬態?如果有任何例子,它將真的幫助我。

請在下面找到我現有的代碼。

這是我在ConfigureService中編寫的代碼

  public void ConfigureServices(IServiceCollection services)
        {
           services.AddDbContext<DataAccess.XXXXContext>(options => options.UseMySQL(Configuration["ConnectionStrings:DefaultConnection"]),ServiceLifetime.Transient);
        }

這是我在DBcontext類中編寫的代碼

 public partial class XXXXContext : DbContext
    {
        private readonly Logger logger = LogManager.GetCurrentClassLogger();

        public XXXXContext(DbContextOptions<XXXXContext> options) :base(options)
        {
            logger.Debug("XXXXContext created");
        }
     }

如果你看到我已經在AddDbContext方法中編寫了Transient,那麼每次創建對像都是如此。我的構造函數應該調用。但我只接到一次電話。

一般承認的答案

我已經使用一個單獨的語句完成了這個。

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<DataAccess.XXXXContext>(options => options.UseMySQL(Configuration["ConnectionStrings:DefaultConnection"]));

    services.AddTransient<DataAccess.XXXXContext>();
}


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow