Entity Framework Core: вторая операция началась в этом контексте до завершения предыдущей операции.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Entity Framework Core: вторая операция началась в этом контексте до завершения предыдущей операции.

Сообщение Anonymous »

Я работаю над проектом ASP.Net Core 2.0, используя Entity Framework Core И в одном из моих методов списка я получаю эту ошибку:

InvalidOperationException: вторая операция началась этот контекст
до завершения предыдущей операции. Потокобезопасность всех членов экземпляра не гарантируется
.

Код: Выделить всё

Microsoft.EntityFrameworkCore.Internal.ConcurrencyDetector.EnterCriticalSection()
Это мой метод:

Код: Выделить всё

    [HttpGet("{currentPage}/{pageSize}/")]
[HttpGet("{currentPage}/{pageSize}/{search}")]
public ListResponseVM GetClients([FromRoute] int currentPage, int pageSize, string search)
{
var resp = new ListResponseVM();
var items = _context.Clients
.Include(i => i.Contacts)
.Include(i => i.Addresses)
.Include("ClientObjectives.Objective")
.Include(i => i.Urls)
.Include(i => i.Users)
.Where(p => string.IsNullOrEmpty(search) || p.CompanyName.Contains(search))
.OrderBy(p => p.CompanyName)
.ToPagedList(pageSize, currentPage);

resp.NumberOfPages = items.TotalPage;

foreach (var item in items)
{
var client = _mapper.Map(item);

client.Addresses = new List();
foreach (var addr in item.Addresses)
{
var address = _mapper.Map(addr);
address.CountryCode = addr.CountryId;
client.Addresses.Add(address);
}

client.Contacts = item.Contacts.Select(p => _mapper.Map(p)).ToList();
client.Urls = item.Urls.Select(p => _mapper.Map(p)).ToList();
client.Objectives = item.Objectives.Select(p => _mapper.Map(p)).ToList();
resp.Items.Add(client);
}

return resp;
}
Я немного растерялся, особенно потому, что он работает, когда я запускаю его локально, но когда я развертываю его на своем промежуточном сервере (IIS 8.5), он выдает эту ошибку и работает нормально. Ошибка начала появляться после того, как я увеличил максимальную длину одной из моих моделей. Я также обновил максимальную длину соответствующей модели представления. И есть много других очень похожих методов создания списков, и они работают.
У меня было запущено задание Hangfire, но оно не использует тот же объект. Это все, что я считаю актуальным. Есть идеи, что может быть причиной этого?

Подробнее здесь: https://stackoverflow.com/questions/487 ... re-a-previ
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»