¿Hay alguna manera de obtener los tipos de POCO de la instancia de DbContext especificada?EF CodeFirst: Obtenga todos los tipos de POCO para DbContext
Respuesta
necesita acceder a la 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, pero necesito acceso a la clase POCO. Tipo, propiedades y atributos de las propiedades: las instancias de EntityType devuelven la implementación propia en Propiedades, Propiedades, Metadatos, etc. – DrAlligieri
@DrAlligieri Puede obtener el nombre completo del tipo y luego usa reflexiones para acceder a propiedades y atributos. – Eranga
FullName devuelve "CodeFirstDatabaseSchema.TypeNameThere", CodeFirstDatabaseSchema - es el espacio de nombres incorrecto para la clase POCO – DrAlligieri
@Lei Yang: se puede usar esto para conseguir todo tipo en una lista.
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));
}
Por desgracia, no pude editar las respuestas aceptadas - sólo tiene que cambiar el espacio de datos utilizado de la siguiente manera
var items = mdw.GetItems<EntityType>(DataSpace.OSpace);
para que las clases POCO lugar de los proxies de EF.
- 1. Creando un EF CodeFirst DbContext usando Roslyn
- 2. ASP.NET MVC 3 EF CodeFirst - DBContext artículo de edición
- 3. EF Codefirst validate unique property?
- 4. Obtenga todos los tipos concretos de ninject
- 5. ¿Cómo se configura DbContext para que funcione con Oracle ODP.Net y EF CodeFirst?
- 6. Cómo obtener metadatos de bases de datos de EF CodeFirst DbContext?
- 7. EF CodeFirst: DropCreateDatabaseIfModelChanges no funciona
- 8. Obtenga todos los tipos derivados de un tipo
- 9. EF DbContext y StructureMap alcance
- 10. EF: En busca de una estrategia de diseño para DatabaseFirst DbContext de una Aplicación modular
- 11. Código EF First DBContext and Transactions
- 12. EF 4.1 - DBContext SqlQuery e Include
- 13. Actualización EF 4 Característica CTP 4 Independiente POCO
- 14. EF CodeFirst crear índice de clave principal no agrupado
- 15. EF CodeFirst CTP5 - ¿Soltar manualmente y crear DB?
- 16. código EF primera: dbcontext heredado crea dos bases de datos
- 17. ¿Cómo establecer el valor predeterminado para POCO en EF CF?
- 18. EF CodeFirst manejo de las excepciones de la base de datos al guardar los cambios
- 19. ADO.NET Generador de DbContext vs. ADO.NET Poco Entity Generator (ObjectContext)
- 20. SVN: obtenga todos los mensajes de confirmación para un archivo.
- 21. ¿Debería el DbContext de EF contener todas las tablas?
- 22. Código EF Primero 4.3 DbContext ¿Ciclo de vida?
- 23. Perl, obtenga todos los valores hash
- 24. NSLocale: obtenga todos los idiomas disponibles
- 25. Obtenga todos los tipos de entrada con nombre, id, valor en JQuery
- 26. En EF 4.1 DbContext cómo rastrear SQL generado
- 27. Convertir DBContext en ObjectContext para usar con GridView
- 28. EF 4.2, CodeFirst - Propiedad de navegación dentro de un tipo complext
- 29. Registrarse para todos los tipos de archivos (CFBundleDocumentTypes)
- 30. Prueba de valor vacío universal para todos los tipos
teniendo el mismo problema, ¿lo resolvió? Necesito ayuda .. =/ –