Безопасность потоков Entity Framework

Объекты контекста, созданные Entity Framework, не являются потокобезопасными.

Что, если я использую два отдельных контекста сущностей, по одному для каждого потока (и вызываю SaveChanges () на each) - будет ли это потокобезопасным?

// this method is called from several threads concurrently
public void IncrementProperty()
{
   var context = new MyEntities();

   context.SomeObject.SomeIntProperty++;
   context.SaveChanges();
}

Я считаю, что контекст entity framework реализует своего рода «счетную» переменную, которая отслеживает, являются ли текущие значения в контексте свежими или нет.

  1. С приведенным выше кодом - вызывается из отдельных потоков - нужно ли блокировать изменения приращения / сохранения?
  2. Если да, каков предпочтительный способ сделать это в этом простом сценарии?
36
задан gre_gor 19 June 2016 в 04:36
поделиться