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 | |
---|---|---|
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. | |
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 | |
---|---|---|
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. | |
Conventions | Fornisce l'accesso alle impostazioni di questo DbModelBuilder che gestisce le convenzioni. |
In alto
Metodi
rapporti | Descrizione | |
---|---|---|
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. | |
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. | |
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. | |
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. | |
Equals | Specifica se DbModelBuilder è uguale all'oggetto specificato. (Esegue l'override di Object.Equals(Object)). | |
Finalize | (Ereditato da Object) | |
GetHashCode | Restituisce il codice hash per l'istanza corrente. (Esegue l'override di Object.GetHashCode()). | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. | |
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. | |
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. | |
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. | |
MemberwiseClone | (Ereditato da Object) | |
Properties() | Avvia la configurazione di una convenzione leggera che si applica a tutte le proprietà nel modello. | |
Properties<T>() | Avvia la configurazione di una convenzione leggera che si applica a tutte le proprietà primitive del tipo specificato nel modello. | |
RegisterEntityType | Registra un tipo di entità come parte del modello. | |
ToString | Restituisce una rappresentazione in forma di stringa di DbModelBuilder. (Esegue l'override di Object.ToString()). | |
Types() | Avvia la configurazione di una convenzione leggera che si applica a tutte le entità e ai tipi complessi nel modello. | |
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.