我有一個使用EF Core的ASP.Net Core應用程序。EF Core發生間歇性錯誤:連接不支持MultipleActiveResultSets
我使用ASP.Net標識併爲我的應用程序的實體共享相同的DBContext。
我已將連接字符串設置爲Azure SQL數據庫以使MultipleActiveResultSet = True。
它適用於一兩天,但最終還是失敗,出現錯誤:
The connection does not support MultipleActiveResultSets.
我不認爲火星是真正的問題,因爲它的工作的頭兩天就漲。
我正在使用ASP.Net Core的內置DI來設置我的DbContext。
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(appDbContextConnectionString));
我的理解是,上面的DbContext的默認生命週期是瞬態的(每個Web請求)。
是否可以與ASP.Net Identity共享相同的DBContext,還是應該爲應用程序的實體分別指向同一個DB?
我不知道這是EF Core,ASP.Net Core還是SQL Azure配置的問題。
https://github.com/aspnet/EntityFrameworkCore/issues/6491他是什麼意思「中間件是否每個請求都有一個範圍?」 –
你可以分享你注入或創建你的數據庫上下文的代碼嗎? – hugoterelle
您可能想要檢查連接字符串是否在運行時實際使用了「MultipleActiveResultSet = True」。只是一個猜測。 https://stackoverflow.com/questions/12690453/sql-azure-getting-an-error-there-is-already-an-open-datareader-associated-wit –