Dividir DbContext en múltiples contextos con DbSets superpuestos

Tengo un DbContext que alberga más de 80 entidades en este momento con solo 4 de los módulos principales realizados, pero quedan 3 más, y son bastante más grandes, por lo que será fácil llegar hasta 150. Creo que es el momento perfecto para dividir los contextos. Cada módulo usa sus propias entidades y obtendrá su propio contexto, pero hay un grupo de entidades que son utilizadas por todos los módulos, así que aquí hay una pregunta:

¿Debería tener un MainContext que tendrá todas las entidades superpuestas pero luego:

¿Qué pasará con las dependencias de FK?Cuánto de un problema de rendimiento sería haber anidadousing (var db = new context) porque tendré que acceder al contexto principal desde cada módulo.

¿Debo poner las entidades superpuestas en todos los contextos, pero luego

¿Qué sucede con el mapeo? ¿No intentaría cada contexto mapear su propia entidad y obtener un error?¿Debo excluir el mapeo de los contextos superpuestos en todos los contextos menos uno?

¿Debo quedarme con un contexto?

¿Cualquier otra sugerencia?

Respuestas a la pregunta(1)

Su respuesta a la pregunta