在EF 6.1中引入了映射API,最终我们可以访问表名和列名。获取表名是EF Core中一个非常好的变化,但我还没有发现如何获取列名。
对于任何感兴趣的人,我是如何在最新版本(RC1)中获得表名的
context.Model.FindEntityType(typeof(T)).SqlServer().TableName
获取列名的当前方法是什么,或者这还没有?
答案 0 :(得分:5)
var columnNames = ctx.Model.FindEntityType(typeof (T))
.GetProperties().Select(x => x.SqlServer().ColumnName)
.ToList();
另外
var columnNames = ctx.Model.FindEntityType(typeof (T))
.GetProperties().Select(x => x.Relational().ColumnName)
.ToList();
答案 1 :(得分:3)
此版本不假设SqlServer
,只要数据存储是关系型的,就可以与Npgsql
提供程序一起使用。
var columnNames = dbContext.Model.FindEntityType(typeof(T))
.GetProperties().Select(x => x.Relational().ColumnName);