映射API的EF核心列名称

问题描述 投票:3回答:2

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

对这里感兴趣的人来说,我是如何获得最新版本的表名的(RC1)

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

获得列名的当前方法是什么,或者尚不可用?

entity-framework-core
2个回答
6
投票
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();

在EF Core 3.X中,.Relational() and .SqlServer() have been replaced,您可以简单地使用:

.Relational()

3
投票

此版本不假定.SqlServer(),并且只要数据存储是关系型的,就可以与var columnNames = ctx.Model.FindEntityType(typeof (T)) .GetProperties().Select(x => x.GetColumnName()) .ToList(); 提供程序一起使用。

SqlServer
© www.soinside.com 2019 - 2024. All rights reserved.