¿Cómo obtiene programáticamente los metadatos para las clases dbset de un EF CodeFirst dbcontext? Esto se realiza en bucle para fines de generación de código.Cómo obtener metadatos de bases de datos de EF CodeFirst DbContext?
13
A
Respuesta
15
Después de algunas investigaciones adicionales, creo que encontré una respuesta. Básicamente, debe desplegar en ObjectContext, el contexto EF original para el cual DbContext es un contenedor, y usar la información de MetadataWorkspace a continuación.
Agregue otra respuesta si hay una manera directa de obtener esto directamente del DbContext, ya que sería más intuitivo y preferible si hubiera uno.
using System.Data.Metadata.Edm;
using System.Data.Objects;
using System.Data.Entity.Infrastructure;
...
using (dbcontext context = new TestContext())
{
ObjectContext objContext = ((IObjectContextAdapter)context).ObjectContext;
MetadataWorkspace workspace = objContext.MetadataWorkspace;
IEnumerable<EntityType> tables = workspace.GetItems<EntityType>(DataSpace.SSpace);
}
Gracias, Will
Cuestiones relacionadas
- 1. Creando un EF CodeFirst DbContext usando Roslyn
- 2. EF CodeFirst: Obtenga todos los tipos de POCO para DbContext
- 3. ASP.NET MVC 3 EF CodeFirst - DBContext artículo de edición
- 4. código EF primera: dbcontext heredado crea dos bases de datos
- 5. EF Codefirst validate unique property?
- 6. Primera migración del código EF con múltiples bases de datos/DbContext
- 7. EF CodeFirst: DropCreateDatabaseIfModelChanges no funciona
- 8. ¿Cómo se configura DbContext para que funcione con Oracle ODP.Net y EF CodeFirst?
- 9. EF DbContext y StructureMap alcance
- 10. ASP.NET MVC3 - Anotaciones de datos con la base de datos de EF primero (ObjectConext, DbContext)
- 11. EF CodeFirst crear índice de clave principal no agrupado
- 12. EF CodeFirst manejo de las excepciones de la base de datos al guardar los cambios
- 13. EF: En busca de una estrategia de diseño para DatabaseFirst DbContext de una Aplicación modular
- 14. Obtener metadatos de MPMoviePlayerController
- 15. Código EF First DBContext and Transactions
- 16. EF CodeFirst CTP5 - ¿Soltar manualmente y crear DB?
- 17. EF 4.1 - DBContext SqlQuery e Include
- 18. Entity Framework CodeFirst pluralización de tabla
- 19. ¿Debería el DbContext de EF contener todas las tablas?
- 20. Código EF Primero 4.3 DbContext ¿Ciclo de vida?
- 21. Obtener metadatos de DOI
- 22. Cómo obtener metadatos de imagen en ios
- 23. Metadatos de base de datos personalizados/arbitrarios
- 24. En EF 4.1 DbContext cómo rastrear SQL generado
- 25. Django: Obtener datos de diferentes bases de datos
- 26. Entity Framework: cómo obtener el tipo de datos de columna de base de datos de metadatos
- 27. Generar base de datos SQL CE a partir del código EF-Primera clase DbContext
- 28. Obtener lista de bases de datos de SQL Server
- 29. ¿Cómo desactivo el seguimiento de cambios en el nivel de DbContext en EF 4.1 RC?
- 30. Obtener datos JSON de JSTree, y es metadatos
me di cuenta de cómo hacer referencia a las entidades en el DbContext pero todavía estoy seguro de cómo conseguir que la referencia en la plantilla T4 que estoy usando para la generación de código. ¿Algunas ideas? Probablemente publicaré otra pregunta sobre ese tema. – WillC
¿Has encontrado la solución T4? –