映射api的EF Core列名

时间:2016-02-01 06:34:48

标签: entity-framework-core

在EF 6.1中引入了映射API,最终我们可以访问表名和列名。获取表名是EF Core中一个非常好的变化,但我还没有发现如何获取列名。

对于任何感兴趣的人,我是如何在最新版本(RC1)中获得表名的

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

获取列名的当前方法是什么,或者这还没有?

2 个答案:

答案 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);