实体框架核心 - 获取DbContext数据模型

时间:2016-02-09 16:27:55

标签: entity-framework

我需要知道有关DbContext的给定实例的实体,表,映射,键等的信息。在实体框架6中,我写了这样的edmx

System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(dbContext, xmlWriter);

然后我用它来构建我自己的数据模型(这是支持从不同来源加载数据的工具所必需的)。如何获取新EF Core(之前的EF 7)的此类信息?我可以使用Reflection,但这只会给我conceptual schema,而我还需要mappings and storage schema。我现在已经查看了EF源代码了一段时间,但似乎找不到任何存储所有必需数据的对象。

1 个答案:

答案 0 :(得分:2)

这应该让你入门

using (var ctx = new TestContext())
{
    var entityType = ctx.Model.FindEntityType(typeof (Entity_Basic));
    var tableName = entityType.SqlServer().TableName;
    var columnName = entityType.GetProperties().ToList()[0].SqlServer().ColumnName;
}