powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Entity Framework: как исправить ошибку?
20 сообщений из 20, страница 1 из 1
Entity Framework: как исправить ошибку?
    #39918506
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пускаю приложение на пустую базу PostgreSQL, получаю

Код: c#
1.
2.
3.
4.
5.
6.
[ERR] Failed executing DbCommand (363ms) [Parameters=[], CommandType='"Text"', CommandTimeout='30']
SELECT EXISTS (
    SELECT 1
    FROM "AspNetUsers" AS a)
[ERR] An exception occurred while iterating over the results of a query for context type 'PMWeb.Server.Data.ApplicationDbContext'.
Npgsql.PostgresException (0x80004005): 42P01: relation "AspNetUsers" does not exist



Проверяю - в базе не появились таблицы

Как исправить?
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918563
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Миграцию не применили.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918564
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Вот почитайте хотя бы эту статейку https://docs.microsoft.com/ru-ru/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918623
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Ролг Хупин,

Миграцию не применили.


Здесь рядом в теме мне писали, что мол можно EF применять и без миграции.
Я снова на те же грабли: хотел использовать EF для Identity, но чтобы проще, без ручной миграции и т.д..
Это возможно?

Т.е. установил юзеру приложение, настроил на базу и работает.
Но если я ему скажу сделай руками миграцию - не поймет и не простит
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918630
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

приложение для начала напиши :)
миграции потом включишь в процесс установки
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918633
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Ролг Хупин,

приложение для начала напиши :)
миграции потом включишь в процесс установки


100%, пишу, но глаза боятся, а руки делают
На тестовом примере хочу понять как использовать EF проще, без миграций, потому, что структура таблиц Identity стабильна.

Как сделать так:
влючаю создание структуры Identity в скрипты, которые создают мою прикладную базу,
использую приложение с EF без этих всех миграций.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918644
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Здесь рядом в теме мне писали, что мол можно EF применять и без миграции.
Я писал. Да можно. Когда ты поддерживаешь структуру базы самостоятельно каким-то другим способом. Но ты хочешь одновременно чистую базу и без миграций. Выбери что-нибудь одно.

Ролг Хупин
Но если я ему скажу сделай руками миграцию - не поймет и не простит
Зачем юзеру делать миграцию. Миграции специально сделаны для того, чтобы все было прозрачно и автоматизированно. Достаточно вызвать метод Migrate и база юзера начинает соответствовать текущей версии приложения, вне зависимости от того, сколько обновлений он пропустил
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918645
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Как сделать так:
влючаю создание структуры Identity в скрипты, которые создают мою прикладную базу,
использую приложение с EF без этих всех миграций.
вот именно так и сделать
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918651
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Ролг Хупин
Здесь рядом в теме мне писали, что мол можно EF применять и без миграции.
Я писал. Да можно. Когда ты поддерживаешь структуру базы самостоятельно каким-то другим способом. Но ты хочешь одновременно чистую базу и без миграций. Выбери что-нибудь одно.

Ролг Хупин
Но если я ему скажу сделай руками миграцию - не поймет и не простит
Зачем юзеру делать миграцию. Миграции специально сделаны для того, чтобы все было прозрачно и автоматизированно. Достаточно вызвать метод Migrate и база юзера начинает соответствовать текущей версии приложения, вне зависимости от того, сколько обновлений он пропустил


понимаю, но в данном случае хотелось бы сделать проще.
Если бы речь шла о прикладной базе - имеет смысл, а здесь структура ASP.Core Identity меняться не будет, приложение будет, мне не нужны миграции.
Я сделал для постгреса рабочий вариант Identity без EF, но хотел попробовать стандартный путь с EF.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918665
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Я так скажу. EF можно использовать без миграций, коненчо. Но вы таким образом лишаетесь одной из ключевых возможностей ORM. Если вы хотите работать с существующей БД, вам лучше выбрать что-то другое. Например, Dapper.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918698
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Ролг Хупин,

Я так скажу. EF можно использовать без миграций, коненчо. Но вы таким образом л ишаетесь одной из ключевых возможностей ORM. Если вы хотите работать с существующей БД, вам лучше выбрать что-то другое. Например, Dapper.



1. "использовать без миграций" -да, но как? было бы хорошо какие-то примеры посмотреть.
2. мне это нужно для ASP.NET Core Identity, там все стабильно и меняться не будет, потому, собственно и спросил.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918706
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Без миграций сами создайте все таблицы руками. Чего уж проще-то? :)
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918707
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Можете даже сэкономить себе время, выполните миграцию для Identity на временном проекте, потом убейте его, у вас останется готовый DDL на руках.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918726
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Можете даже сэкономить себе время, выполните миграцию для Identity на временном проекте, потом убейте его, у вас останется готовый DDL на руках.
DDL можно просто даже какой-то командой сгенерить кажется...
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918860
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Ролг Хупин,

Без миграций сами создайте все таблицы руками. Чего уж проще-то? :)


Сделал NET Core console приложение, добавил туда ASP.NET Core Identity c EF, проверил на SQLite, PostgreSQL - все работает, даю базу, молча создает сруктуру, потом я добавляю юзера - то, что надо. Никаких миграций.
Но в Blazor почему-то откуда-то берутся миграции и проблемы с ними.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918876
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

У вас миграция не выполняется. Разобраться нужно что в какой момент у вас выполняется.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918878
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Ролг Хупин,

У вас миграция не выполняется. Разобраться нужно что в какой момент у вас выполняется.


Мне и не нужна миграция, вот как в консоли я сделал. Пытаюсь понять, как избавиться от миграции

В консоли такой контекст

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
            Database.EnsureCreated();// <------
        }


        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
            // Customize the ASP.NET Identity model and override the defaults if needed.
            // For example, you can rename the ASP.NET Identity table names and more.
            // Add your customizations after calling base.OnModelCreating(builder);

        }
    }
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918922
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

EnsureCreated создаёт базу данных, не используя механизм миграций. По сути это единственная миграция, не поддерживающая никаких изменений БД в дальнейшем. Более того, нельзя будет даже подключить миграции. Т.е. либо так, либо эдак.
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918952
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Более того, нельзя будет даже подключить миграции.
Почему? Создать первую миграцию, создать табличку __MigrationHistory руками и запихать туда первую миграцию. Разве нужно что-то еще?
...
Рейтинг: 0 / 0
Entity Framework: как исправить ошибку?
    #39918968
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
hVostt
Более того, нельзя будет даже подключить миграции.
Почему? Создать первую миграцию, создать табличку __MigrationHistory руками и запихать туда первую миграцию. Разве нужно что-то еще?


Ну вот тут так написано:

Note that this API does not use migrations to create the database. In addition, the database that is created cannot be later updated using migrations. If you are targeting a relational database and using migrations, you can use the DbContext.Database.Migrate() method to ensure the database is created and all migrations are applied.

Собственно, оно так и работает :) Конечно, если отдельно сделать миграции и перенести изменения в существующую БД руками, то подсунуть можно.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Entity Framework: как исправить ошибку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]