Condividi tramite


Classe DbModelBuilder

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

DbModelBuilder viene usato per eseguire il mapping delle classi CLR a uno schema del database. Questo approccio incentrato sul codice per la compilazione di un modello Entity Data Model (EDM) è noto come 'Code First'.

Gerarchia di ereditarietà

System.Object
  System.Data.Entity.DbModelBuilder

Spazio dei nomi:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
Public Class DbModelBuilder
'Utilizzo
Dim instance As DbModelBuilder
public class DbModelBuilder
public ref class DbModelBuilder
type DbModelBuilder =  class end
public class DbModelBuilder

Il tipo DbModelBuilder espone i seguenti membri.

Costruttori

  rapporti Descrizione
Metodo pubblico DbModelBuilder() Inizializza una nuova istanza della classe DbModelBuilder.Il processo di individuazione del modello iniziale utilizzerà il set di convenzioni incluso nella versione più recente di Entity Framework installata nel computer.
Metodo pubblico DbModelBuilder(DbModelBuilderVersion) Inizializza una nuova istanza della classe DbModelBuilder che utilizzerà un set di convenzioni specifico per individuare il modello iniziale.

In alto

Proprietà

  rapporti Descrizione
Proprietà pubblica Configurations Ottiene l'oggetto ConfigurationRegistrar per questo DbModelBuilder.Il registrar consente di registrare le configurazioni del tipo complesso e del tipo di entità derivato con il generatore.
Proprietà pubblica Conventions Fornisce l'accesso alle impostazioni di questo DbModelBuilder che gestisce le convenzioni.

In alto

Metodi

  rapporti Descrizione
Metodo pubblico Build(DbConnection) Crea un oggetto DbModel basato sulla configurazione eseguita mediante questo generatore.La connessione viene usata per determinare il provider del database usato poiché influisce sul livello di database del modello generato.
Metodo pubblico Build(DbProviderInfo) Crea un oggetto DbModel basato sulla configurazione eseguita mediante questo generatore.È necessario specificare le informazioni sul provider poiché quest'ultimo influisce sul livello di database del modello generato.Per SqlClient il nome invariante è 'System.Data.SqlClient' e il token del manifesto è l'anno della versione, ad esempio '2005', '2008' e così via.
Metodo pubblico ComplexType<TComplexType> Registra un tipo come tipo complesso nel modello e restituisce un oggetto che può essere usato per configurare il tipo complesso.Tale metodo può essere chiamato più volte per lo stesso tipo per eseguire più righe della configurazione.
Metodo pubblico Entity<TEntityType> Registra un tipo di entità come parte del modello e restituisce un oggetto che può essere usato per configurare l'entità.Questo metodo può essere chiamato più volte per la stessa entità per eseguire più righe della configurazione.
Metodo pubblico Equals Specifica se DbModelBuilder è uguale all'oggetto specificato. (Esegue l'override di Object.Equals(Object)).
Metodo protetto Finalize (Ereditato da Object)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza corrente. (Esegue l'override di Object.GetHashCode()).
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente.
Metodo pubblico HasDefaultSchema Configurare il nome dello schema predefinito del database.Il nome dello schema di database predefinito viene usato per gli oggetti di database che non dispongono di un nome dello schema configurato in modo esplicito.
Metodo pubblico Ignore(IEnumerable<Type>) Esclude il tipo o i tipi specificati dal modello.Viene usato per rimuovere i tipi dal modello che sono stati aggiunti per convenzione durante l'individuazione del modello iniziale.
Metodo pubblico Ignore<T>() Esclude un tipo dal modello.Viene usato per rimuovere i tipi dal modello che sono stati aggiunti per convenzione durante l'individuazione del modello iniziale.
Metodo protetto MemberwiseClone (Ereditato da Object)
Metodo pubblico Properties() Avvia la configurazione di una convenzione leggera che si applica a tutte le proprietà nel modello.
Metodo pubblico Properties<T>() Avvia la configurazione di una convenzione leggera che si applica a tutte le proprietà primitive del tipo specificato nel modello.
Metodo pubblico RegisterEntityType Registra un tipo di entità come parte del modello.
Metodo pubblico ToString Restituisce una rappresentazione in forma di stringa di DbModelBuilder. (Esegue l'override di Object.ToString()).
Metodo pubblico Types() Avvia la configurazione di una convenzione leggera che si applica a tutte le entità e ai tipi complessi nel modello.
Metodo pubblico Types<T>() Avvia la configurazione di una convenzione leggera che si applica a tutte le entità e ai tipi complessi del modello che ereditano da o implementano il tipo specificato dall'argomento generico.Questo metodo non registra i tipi come parte del modello.

In alto

Note

DbModelBuilder viene in genere usato per configurare un modello eseguendo l'override di OnModelCreating(DbModelBuilder). È anche possibile usare DbModelBuilder indipendentemente da DbContext per compilare un modello e quindi costruire un oggetto DbContext o ObjectContext. L'approccio consigliato, tuttavia, consiste nell'usare OnModelCreating nell'oggetto DbContext poiché il flusso di lavoro è più intuitivo e consente di gestire le attività comuni, ad esempio la memorizzazione nella cache del modello creato. I tipi che formano il modello vengono registrati con DbModelBuilder e la configurazione facoltativa può essere eseguita applicando annotazioni dei dati alle classi e/o usando l'API DbModelBuilder di tipo Fluent. Quando viene chiamato il metodo Build, viene eseguito un set di convenzioni per individuare il modello iniziale. Queste convenzioni individuano automaticamente aspetti del modello come le chiavi primarie ed elaborano tutte le annotazioni dei dati specificate nelle classi. Infine, viene applicata una configurazione eseguita mediante l'API DbModelBuilder. La configurazione eseguita mediante l'API DbModelBuilder ha la precedenza sulle annotazioni dei dati che a loro volta hanno la precedenza sulle convenzioni predefinite.

Thread safety

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Vedere anche

Riferimento

Spazio dei nomi System.Data.Entity