Это очень возможно и быстрее (при правильном использовании, об этом позже)
А вот как вы могли это сделать:
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 контекста