Мне нужно создать таблицу в коде. Проблема в том, что мне не разрешено использовать миграции. При запуске приложение должно проверять, существуют ли таблицы, и добавлять их по запросу.
У меня очень базовая c реализация DbContext
, которая создается путем вызова этого метода:
public static ConfigurationDbContext CreateRemoteContext(string nameOrConnectionString)
{
var context = new ConfigurationDbContext(nameOrConnectionString);
context.Configuration.ProxyCreationEnabled = false;
context.Configuration.LazyLoadingEnabled = false;
context.Configuration.AutoDetectChangesEnabled = false;
return context;
}
И контейнер конфигурации, который передается остальным частям приложения. Он содержит массивы для каждой таблицы, которые загружаются следующим образом:
using (var dbContext = ConfigurationDbContext.CreateRemoteContext(App.Database.DbConnectionName))
{
var result = new ConfigurationContainer
{
ExistingTableEntities = dbContext.ExistingEntities.ToArray(),
...
NotExistingTableEntities = dbContext.NotExistingTableEntities.ToArray()
};
...
}
Здесь все объекты загружаются в контейнер конфигурации. При попытке доступа к несуществующей таблице он предсказуемо выдает исключение.
Как я могу проверить, существует ли таблица, и создать ее по запросу без миграции?