Anche se stai usando Code First, è importante ricordare che le tue entità C # sono proiezioni del tuo database in fase di runtime. Se si utilizza la generazione dello schema, lo schema del database è una proiezione dei metadati dell'entità C #.
Ciò significa che la mappatura più sicura è uno a uno. Se riesci a vivere senza generazione di schemi, puoi fare a meno di più entità mappate su un oggetto di database. Concettualmente, non puoi mai farla franca con un'entità mappata su più oggetti di database. Certo, potresti essere in grado di farlo temporaneamente completamente sovvertendo l'impianto idraulico EF, ma a quel punto non sei veramente mappato in alcun senso significativo. Perché non uscire dal mondo EF per fare tutto ciò che è necessario fare e tornare indietro quando hai finito? O quello o modifica leggermente il tuo modello per soddisfare le aspettative di EF.