2016-02-09 7 views
0

Мне нужно знать информацию об объектах, таблицах, сопоставлениях, ключах и т. Д. Для данного экземпляра DbContext. В Entity Framework 6 я писал edmx так:Entity Framework Core - получить модель данных DbContext

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

который я тогда использовал, чтобы построить свою собственную модель данных (это необходимо для инструмента, который поддерживает загрузку данных из различных источников). Как получить такую ​​информацию для нового EF Core (предыдущий EF 7)? Я мог бы использовать Reflection, но это даст мне только conceptual schema, а мне также понадобится mappings and storage schema. Я просматривал исходный код EF некоторое время, но, похоже, не нашел ни одного объекта, в котором хранятся все необходимые данные.

ответ

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; 
} 
Смежные вопросы