Более одного потока, работающего в одном контексте Entity Framework, не является поточно-безопасным.
Отдельный экземпляр контекста для каждого потока является поточно-ориентированным.Пока каждый поток выполнения имеет свой собственный экземпляр контекста EF, у вас все будет хорошо.
В вашем примере вы можете вызывать этот код из любого числа потоков одновременно, и каждый будет счастливо работать со своим собственным контекстом.
Однако я бы предложил реализовать для этого блок 'using' следующим образом:
// this method is called from several threads concurrently
public void IncrementProperty()
{
using (var context = new MyEntities())
{
context.SomeObject.SomeIntProperty++;
context.SaveChanges();
}
}