Если вы развертываете в Windows, узел сценария Windows предлагает очень полезный JScript API для файловой системы и других локальных ресурсов. Однако включение сценариев WSH в локальное веб-приложение может быть не таким элегантным, как вы могли бы пожелать.
Пожалуйста, посмотрите этот поток StackOverflow: Безопасен ли поток DbContext?
DbContext не является потокобезопасным, но вы можете создать новый для каждого потока. Если вы используете Задачи и тому подобное, убедитесь, что для каждого из них создан новый DbContext.
Это очень возможно и быстрее (при правильном использовании, об этом позже)
И вот как вы можете это сделать:
var context1 = new DbContext();
_fooList = new List<Foo>
{
// Thousands of datasets
}
context1.Set<Foo>().AddRange(_fooList);
var context2 = new DbContext();
_barList = new List<Bar>
{
// Thousands of datasets
}
context2.Set<Bar>().AddRange(_barList);
var fooTask = context1.SaveChangesAsync();
var barTask = context2.SaveChangesAsync();
await Task.WhenAll(new Task[] {fooTask, barTask});
Это быстрее, чем иметь один Запись контекста в одну таблицу, а затем в следующую, но если вы делаете это для той же таблицы, это может быть на самом деле медленнее, чем делать это с 1 Context