Nome colonna EF core da mapping api

entity-framework-core

Domanda

In EF 6.1 è stata introdotta l'API di mappatura in cui è possibile ottenere l'accesso ai nomi delle tabelle e ai nomi delle colonne. Ottenere il nome della tabella è un cambiamento molto interessante in EF Core, ma non ho ancora scoperto come ottenere i nomi delle colonne.

Per chiunque sia interessato ecco come ho ottenuto il nome della tabella nell'ultima versione (RC1)

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

Qual è il metodo corrente per ottenere i nomi delle colonne o non è ancora disponibile?

Risposta accettata

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

Anche

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

Risposta popolare

Questa versione non presuppone SqlServer e può funzionare anche con il provider Npgsql a condizione che l'archivio dati sia relazionale.

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


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché