Я хочу получить все имена таблиц в OnModelCreating для реализации оператора sql alter при запуске команды update-database. Я пробовал так много решений, существующих здесь в stackoverlow, но ничего не получалось. Вот пример
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var metadata = ((IObjectContextAdapter)context).ObjectContext.MetadataWorkspace;
var tables = metadata.GetItemCollection(DataSpace.SSpace)
.GetItems<EntityContainer>()
.Single()
.BaseEntitySets
.OfType<EntitySet>()
.Where(s => !s.MetadataProperties.Contains("Type")
|| s.MetadataProperties["Type"].ToString() == "Tables");
string sql = "";
foreach (var table in tables)
{
var tableName = table.MetadataProperties.Contains("Table")
&& table.MetadataProperties["Table"].Value != null
? table.MetadataProperties["Table"].Value.ToString()
: table.Name;
}
}
, и я тоже попробовал это EF CodeFirst - Получить все сущности