К примеру, имеется у меня контекст из двух сетов:
public class ConfigurationContext : DbContext
{
public ConfigurationContext() : base("ConfigurationContext")
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion
public DbSet
Таблица успешно генерируется, но почему-то содержит вместо двух таблиц - три! При этом у меня нет в проекте никаких сущностей, которые имели бы имя User, свойство Age или связь с такими объектами.
Эта лишняя таблица следует за мной повсюду. Стоит мне создать новый проект, изменить строку подключения, название или содержимое классов - она всегда создаётся.
В данный момент классы не содержат никаких свойств, кроме intового ключа. Таблица Users всё равно создается при каждой миграции.
Класс Configuration, отвечающий за миграцию также привожу ниже:
internal sealed class Configuration : DbMigrationsConfiguration
Как ликвидировать лишнюю таблицу?
Ответ
Эту таблицу создает вовсе не Entity Framework, она создается сама при создании базы данных.
Дело в том, что в MS SQL Server есть такая штука как системная БД под названием model. При создании новой БД в нее копируются все объекты из model, и если в model есть какая-то таблица - она будет вас вот так преследовать. Просто удалите таблицу из model и больше не создавайте ее там.
Аналогичное поведение возможно и в PostgreSQL, там в таких случаях нужно проверить БД template1.
Комментариев нет:
Отправить комментарий