In EF 6.1 the mapping API was introduced where we could finally get access to table names and column names. Getting the table name is a very nice change in EF Core, but I ha
This version doesn't assume SqlServer
and can work as well with Npgsql
provider as long as data store is relational.
var columnNames = dbContext.Model.FindEntityType(typeof(T))
.GetProperties().Select(x => x.Relational().ColumnName);
var columnNames = ctx.Model.FindEntityType(typeof (T))
.GetProperties().Select(x => x.SqlServer().ColumnName)
.ToList();
Also
var columnNames = ctx.Model.FindEntityType(typeof (T))
.GetProperties().Select(x => x.Relational().ColumnName)
.ToList();
In EF Core 3.X, .Relational() and .SqlServer() have been replaced and you can simply use:
var columnNames = ctx.Model.FindEntityType(typeof (T))
.GetProperties().Select(x => x.GetColumnName())
.ToList();