我需要知道有关DbContext
的给定实例的实体,表,映射,键等的信息。在实体框架6中,我写了这样的edmx
:
System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(dbContext, xmlWriter);
然后我用它来构建我自己的数据模型(这是支持从不同来源加载数据的工具所必需的)。如何获取新EF Core
(之前的EF 7
)的此类信息?我可以使用Reflection
,但这只会给我conceptual schema
,而我还需要mappings and storage schema
。我现在已经查看了EF
源代码了一段时间,但似乎找不到任何存储所有必需数据的对象。
答案 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;
}