Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

System.Data.Entity.Infrastructure.CommitFailedException:wielowątkowość C# &SQL Server 2012

Kiedyś napotykałem ten sam problem. Jeśli aplikacja z wątkami używa tego samego obiektu kontekstowego dla wszystkich wątków, mamy do czynienia z tego rodzaju problemami. Utwórz oddzielne obiekty kontekstowe dla każdego wątku. o stanach bytów w Kontekście.

List<Task> tasks = new List<Task>();
foreach (var item in list)
{
   ObjectContext oContext = new ObjectContext("MyConnection");
   Task t = Task.Factory.StartNew(() =>
   {
      this.Update(item,oContext);
   });
   tasks.Add(t);
}

Task.WaitAll(tasks.ToArray());



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz kolumnę obliczaną w SQL Server za pomocą T-SQL

  2. ExecuteNonQuery zwraca -1 podczas używania sql COUNT pomimo ciągu zapytania

  3. SQL Query wolno w aplikacji .NET, ale natychmiastowo w SQL Server Management Studio

  4. Funkcja SQL Server ROUND():do czego służy i dlaczego powinno cię to obchodzić?

  5. Dołączanie do rekordu daty MAX w grupie