"Я хочу разделить это на малые и многие Dbcontext (s)"
Возможно, это не тот ответ, который решает ваш вопрос о том, как это сделать, потому что я неНе думаю, что разделение контекста БД было бы хорошей практикой.
Ваш контекст БД представляет базу данных.Вся база данных, а не ее часть.Если вы разделите это, вы, скорее всего, столкнетесь с серьезными проблемами.Например, вы обновляете что-то с помощью версии 1 контекста, в то время как версия 2 контекста все еще имеет старые данные, кэшированные для работы.
Я также очень волнуюсь из-за кошмара обслуживания, который вы бы представили с этим разделением.В конце концов, вам сейчас придется поддерживать несколько контекстов БД, и каждый из них, вероятно, также разделяет некоторые части.
Итак, главный вопрос: зачем вам это делать?Каковы преимущества?И стоит ли, если вы посмотрите на риски?
На мой взгляд, лучшим решением было бы иметь контекст в 1 БД и разделить его на уровень, например,в доменном слое (ограниченный контекст).Тогда у вас есть логическое разделение вместо физического, что имеет больше смысла.
Если вы действительно хотите физическое разделение, то разделите и саму базу данных.Но помните о ссылочной согласованности между ключами, вы вводите сложность, как это ...
Надеюсь, это поможет вам.