Domanda

Descrizione: Ho provato a separare determinati segmenti di dominio in diversi DbContexts.

Ognuno ha diversi DbSets, ma ci sono alcuni DbSets che sono condivisi, ad esempio il UserProfile.

Il motivo per questa separazione è la velocità con cui viene generato il modello e la semplicità (meno set in un oggetto, aiuta con IntelliSense).

Tuttavia, non sono sicuro di cosa appartiene esattamente al modello generato.

Q1: è ogni entità che è connessa in transizione con le entità, per le quali esiste un DBSET in un DBContext, incluso nel modello?

Q2: In caso affermativo, ciò significa che performance-saggio non serva alcuno scopo di separare il dominio in contesti diversi, poiché tutto ciò che è collegato finisce nel modello comunque, indipendentemente da quale DbSet sono indicati nel DbContext?

Dove posso trovare maggiori informazioni su come viene generato il modello? Ho letto un libro su EntityFramework e Codefirst e non ho trovato informazioni specifiche ...

È stato utile?

Soluzione

Rispondere alla tua Prima domanda : Sì, tutte le relazioni sono modellate incluse le entità su entrambi i lati, quindi ogni entità che è collegata da una proprietà di navigazione a un'entità inclusa sarà inclusa anche nel modello indipendentemente se C'è un DbSet per questo o no.

Entity Framework non ti obbliga a creare DbSets per tutte le entità. Questo può essere utile se vuoi "limitare" le entità dei bambini per essere accessibili solo attraverso i loro genitori.

Per quanto riguarda la tua Seconda domanda : separare i contesti potrebbe ancora migliorare le prestazioni, se non tutte le entità appartenenti a un contesto sono raggiungibili tramite proprietà di navigazione delle entità appartenenti all'altro contesto. Là potrebbe è un costo aggiuntivo associato con esplicitamente tra cui più DbSets in un contesto, anche.

È possibile leggere (alcune parti di) il codice sorgente del framework dell'entità, è open source e disponibile su codeplex Per saperne di più su come è costruito il modello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top