我正在尝试从 ef6 迁移到 ef core,并开始遇到以下问题
System.InvalidOperationException:"在上一个操作完成之前,在此上下文上启动了第二个操作。这通常是由使用同一 DbContext 实例的不同线程引起的,但是不能保证实例成员是线程安全的。这也可能是由在客户端上评估的嵌套查询引起的,如果是这种情况,请重写查询,避免嵌套调用。
上:
_dbContext
.Query<EntityModel>()
.FromSql(query, new SqlParameter("@userId", userId))
.ToList();
我通过将MultipleActiveResultSets=true添加到连接字符串中解决了一次这个问题。
例:
string connectionString = "Data Source=MSSQL1;" +
"Initial Catalog=AdventureWorks;Integrated Security=SSPI;" +
"MultipleActiveResultSets=True";
寄件人: https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql/enabling-multiple-active-result-sets
只需将其添加到您的 appsettings.json 连接字符串中即可