Esiste un modo per ottenere i tipi di POCO dall'istanza DbContext specificata?Codice EF Prima: Ottieni tutti i tipi POCO per DbContext
risposta
è necessario accedere al MetadataWorkspace
public class MyContext : DbContext
{
public void Test()
{
var objectContext = ((IObjectContextAdapter)this).ObjectContext;
var mdw = objectContext.MetadataWorkspace;
var items = mdw.GetItems<EntityType>(DataSpace.CSpace);
foreach (var i in items)
{
Console.WriteLine("Class Name: {0}", i.Name);
}
}
tnx, ma ho bisogno di accedere alla classe POCO Tipo, proprietà e proprietà attributi - Istanze EntityType restituisce la propria implementazione in Proprietà, ProprietàMetadata ed ecc. – DrAlligieri
@DrAlligieri È possibile ottenere il nome completo del tipo e quindi utilizzare le riflessioni per accedere a proprietà e attributi. – Eranga
FullName restituisce "CodeFirstDatabaseSchema.TypeNameThere", CodeFirstDatabaseSchema - è uno spazio dei nomi errato per la classe POCO – DrAlligieri
@Lei Yang: è possibile utilizzare questo per ottenere tutti i tipi in un elenco.
var objectContext = ((IObjectContextAdapter) dbContext).ObjectContext;
var mdw = objectContext.MetadataWorkspace;
var items = mdw.GetItems<EntityType>(DataSpace.CSpace);
var dbContextAssembly = dbContext.GetType().Assembly;
var entityTypes = new List<Type>();
foreach (var i in items) {
entityTypes.Add(dbContextAssembly.GetType(i.FullName));
}
Purtroppo, non ho potuto modificare le risposte accettate - solo bisogno di cambiare lo spazio dati utilizzato come segue
var items = mdw.GetItems<EntityType>(DataSpace.OSpace);
per ottenere le vostre classi POCO invece delle deleghe EF.
- 1. Genera database SQL CE dal codice EF: prima classe DbContext
- 2. Codice EF Prima 4.3 DbContext Ciclo di vita?
- 3. Come creare una vista utilizzando il codice EF prima POCO
- 4. Codice EF prima PluralizingTableNameConvention per ONE DbSet
- 5. Come recuperare una chiave [EF] della prima entità del codice EF 4 solo prima di collegarsi a DBContext?
- 6. Ottieni tutti i tipi di immissione password
- 7. comando DbContext impalcatura dnx ef EF7-beta7 Database-prima fallisce
- 8. Ottieni DBContext da ObjectContext
- 9. Come forzare prima il codice EF per interrogare il database?
- 10. EF DbContext e StructureMap scoping
- 11. EF Codice Prima - API fluente (WithRequiredDependent e WithRequiredPrincipal)
- 12. Come ottenere i metadati dbset da EF CodeFirst DbContext?
- 13. Come si singolarizzano le tabelle in codice EF prima?
- 14. Come posso leggere i metadati EF DbContext a livello di codice?
- 15. Come posso ottenere l'elenco dei tipi di entità da un ObjectContext in fase di esecuzione utilizzando prima il codice EF?
- 16. DbContext di EF contiene tutte le tabelle?
- 17. Ottieni tutti i tipi derivati di un tipo
- 18. Codice quadro entità Prima e raccolte di tipi primitivi
- 19. Eredita una classe base comune nel codice EF prima
- 20. Quali sono i pro e i contro dell'utilizzo di uno o più DbContext con EF?
- 21. Come si definiscono i tasti quando si lavora con "Codice EF prima"?
- 22. Codice EF Elimina prima lotto da IQueryable <T>?
- 23. Perché utilizzare DbContext e non ObjectContext
- 24. Ottieni tutti i genitori per un figlio
- 25. Ho un POCO, posso ottenere un proxy da DbContext?
- 26. Guice: come legare i generici per TUTTI i tipi?
- 27. Come arrestare EF (codice prima) Controllo delle modifiche dello schema
- 28. Seleziona colonne specifiche dal database utilizzando codice EF Prima
- 29. Uso del codice EF prima e SQL in WPF
- 30. Qual è il modo migliore per trasformare un oggetto proxy EF nell'oggetto POCO originale?
avendo lo stesso problema, hai risolto? Ho bisogno di aiuto .. =/ –