Nombre de la columna de EF Core de la API de mapeo

entity-framework-core

Pregunta

En EF 6.1 se introdujo la API de mapeo donde finalmente pudimos obtener acceso a los nombres de tablas y columnas. Obtener el nombre de la tabla es un cambio muy bueno en EF Core, pero aún no he descubierto cómo obtener los nombres de las columnas.

Para cualquier persona interesada aquí es cómo obtuve el nombre de la tabla en la última versión (RC1)

context.Model.FindEntityType(typeof(T)).SqlServer().TableName

¿Cuál es el método actual para obtener nombres de columna o no está disponible todavía?

Respuesta aceptada

var columnNames = ctx.Model.FindEntityType(typeof (T))
                           .GetProperties().Select(x => x.SqlServer().ColumnName)
                           .ToList();

también

var columnNames = ctx.Model.FindEntityType(typeof (T))
                           .GetProperties().Select(x => x.Relational().ColumnName)
                           .ToList();

Respuesta popular

Esta versión no asume SqlServer y puede funcionar tan bien con el proveedor Npgsql siempre que el almacén de datos sea relacional.

var columnNames = dbContext.Model.FindEntityType(typeof(T))
                  .GetProperties().Select(x => x.Relational().ColumnName);


Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow