У меня типа объекта базы данных Entity
, длинный список Thingy
и методуправления потоками с ASP.NET асинхронномом/ждать
private Task<Entity> MakeEntity(Thingy thingy) {
...
}
MakeEntity делает много вещей, и ЦП. Я хотел бы преобразовать все мои вещи в объекты и сохранить их в db.context. Учитывая, что
- Я не хочу, чтобы закончить как можно быстрее
- Количество лиц велико, и я хочу, чтобы эффективно использовать базу данных, поэтому я хочу, чтобы начать экономить изменения и ожидания пульта дистанционного управления база данных, чтобы сделать это вещь
как я могу это сделать? Мне бы очень хотелось, чтобы цикл был в ожидании, когда база данных выполнит свою работу, и предложит все недавно созданные объекты до тех пор, пока база данных не обработает их все. Какой там лучший маршрут? Я запустил команду saveChanges, если он называется одновременно, поэтому я не могу этого сделать. Мне бы очень хотелось, чтобы поток thread из восьми потоков (или, точнее, столько потоков, что у меня есть), чтобы работать с ЦП, и одна нить выполняла SaveChanges()
Вы уверены, что хотите * многопоточность на ASP.NET? Помните, что когда один запрос использует несколько потоков, это значительно повлияет на вашу масштабируемость, поскольку эти потоки не могут использоваться для других запросов. –
"длинный список Thingy". Вы вызываете 'MakeEntity' несколько раз с каждым экземпляром Thingy? –
Кроме того, не существует способа для пакетной обработки обработанной вами частички «Thingy's» и привязывания результирующей «сущности» к контексту, ** затем ** «SaveChanges» только для одной поездки в оба DB? –