在EF 6.1中引入了映射API,我们最终可以访问表名和列名。在EF Core中,获取表名是一个非常不错的变化,但是我还没有发现如何获取列名。
对这里感兴趣的人来说,我是如何获得最新版本的表名的(RC1)
context.Model.FindEntityType(typeof(T)).SqlServer().TableName
获得列名的当前方法是什么,或者尚不可用?
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()
此版本不假定.SqlServer()
,并且只要数据存储是关系型的,就可以与var columnNames = ctx.Model.FindEntityType(typeof (T))
.GetProperties().Select(x => x.GetColumnName())
.ToList();
提供程序一起使用。
SqlServer