powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хорошая практика использования EF DbContext
25 сообщений из 26, страница 1 из 2
Хорошая практика использования EF DbContext
    #39963482
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazor Server, для данных и аутентификации юзеров используется одна и таже база.
Как делать лучше:
1. Разные контексты для работы с данными и юзерами: DbContext AspDbIdentityContext
2. Один и тот же контекст

?
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963488
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

ты еще совсем недавно задавал тут кучу джунских вопросов по обычному MVC, а теперь полез в Blazor. Зачем? Разберись как следует с чем-то одним, потом берись за другое.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963492
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И при чем тут именно блазор? Тут вопрос просто о том как вообще организовать хранение данных. В одной БД проще, в двух разных гибче. От блазора-неблазора это никак не зависит.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963508
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин
Blazor Server, для данных и аутентификации юзеров используется одна и таже база.
Как делать лучше:
1. Разные контексты для работы с данными и юзерами: DbContext AspDbIdentityContext
2. Один и тот же контекст

?


предположу что у тебя появилось желание группировать таблички в sql, типа

content.Orders
content.Invoices
security.Users
security.Roles

если да, то загугли schemes для Entity Framework
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963837
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Blazor Server, для данных и аутентификации юзеров используется одна и таже база.
Как делать лучше:
1. Разные контексты для работы с данными и юзерами: DbContext AspDbIdentityContext
2. Один и тот же контекст

?


Вы же понимаете, что практика это решение какой-то задачи.

Вы какую проблему решаете? Чего хотите? )
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963849
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос и тело вопроса не коррелируют
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963853
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Вы какую проблему решаете? Чего хотите? )

Best practice на скуле - это начинать издалека
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963928
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Ролг Хупин,

ты еще совсем недавно задавал тут кучу джунских вопросов по обычному MVC, а теперь полез в Blazor. Зачем? Разберись как следует с чем-то одним, потом берись за другое.


С одной стороны - да, но это было давно, кроме того, я тут давно задаю вопросы по Blazor.
Вот, взялся за другое.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963931
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Ролг Хупин
Blazor Server, для данных и аутентификации юзеров используется одна и таже база.
Как делать лучше:
1. Разные контексты для работы с данными и юзерами: DbContext AspDbIdentityContext
2. Один и тот же контекст

?


Вы же понимаете, что практика это решение какой-то задачи.

Вы какую проблему решаете? Чего хотите? )


Делаю Blazor сервер приложение, работающие с базой. По совету коллег(здесь же) аутентификацию пока не прикручивал, но уже надо думать, как делать. Вот и вопрос: делать отдельный контекст или засунуть все в тот же, если база та же?
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963967
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
делать отдельный контекст или засунуть все в тот же, если база та же?

Если нет планов разбить это на две разные базы, то особого смысла делать два разных контекста смысла нет, если у тебя там не 100500 сущностей (но тогда надо вообще дробить все на отдельные контексты по критерию принадлежности к тому или иному контексту домена). Я, если честно, еще толком не уверен, как будут работать миграции в случае нескольких контектсов на одну базу - как минимум при этом точно придется разносить сущности БД по разным схемам.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963971
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Identity делать контекст с EF Core, для данных приложения Dappper.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39963974
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
Dappper.

Вот этого недо-ОРМа Ролгу только и не хватало.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964002
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Я, если честно, еще толком не уверен, как будут работать миграции в случае нескольких контектсов на одну базу
можно задать разные имена таблиц __MigrationHistory для разных контекстов, тогда должно работать нормально.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964003
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще придется задавать дополнительные ключи для update-database
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964006
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
vb_sub
Dappper.

Вот этого недо-ОРМа Ролгу только и не хватало.

Чем Вам Dapper не угодил?
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964060
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Ролг Хупин
делать отдельный контекст или засунуть все в тот же, если база та же?

Если нет планов разбить это на две разные базы, то особого смысла делать два разных контекста смысла нет, если у тебя там не 100500 сущностей (но тогда надо вообще дробить все на отдельные контексты по критерию принадлежности к тому или иному контексту домена). Я, если честно, еще толком не уверен, как будут работать миграции в случае нескольких контектсов на одну базу - как минимум при этом точно придется разносить сущности БД по разным схемам.


Ясно, разносить по разным базам планов нет, в принципе то можно, но я наоборот подумал, что лучше все даржать в одной базе, там таблиц с данными 20-30, вот и подумал, что можно работать через один контекст.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964096
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин

Ясно, разносить по разным базам планов нет, в принципе то можно, но я наоборот подумал, что лучше все даржать в одной базе, там таблиц с данными 20-30, вот и подумал, что можно работать через один контекст.

Наследуешь свой контекст от IdentityDbContext<> и добавляешь в него уже свои сущности. Так обычно в простых случаях типа твоего и делают. Только, смотри, если будешь перегружать OnModelCreating (а, скорее всего, будешь), то не забудь в нем вызвать базовый класс:

Код: c#
1.
2.
3.
4.
5.
6.
protected override void OnModelCreating(ModelBuilder builder)
{
    base.OnModelCreating(builder);

    // дальше конфигурация "своих" сущностей
}


я на эти грабли сначала наступил, и какое-то время никак не мог понять в чем дело.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964098
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
Для Identity делать контекст с EF Core, для данных приложения Dappper.


а зачем разнообразить зоопарк:EF, Dapper?
В чем его + по сравнению с EF, чтобы заменить?
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964110
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
В чем его + по сравнению с EF, чтобы заменить?

Ни в чем. Недо-ORM. Сдуру связались как-то с этим даппером-маппером - отгребли кучу самомастурбации.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964127
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
vb_sub
Для Identity делать контекст с EF Core, для данных приложения Dappper.


а зачем разнообразить зоопарк:EF, Dapper?
В чем его + по сравнению с EF, чтобы заменить?


Потому что EF core подходит для простой логики взаимодействия с данными, когда нужно будет что-то посложнее то он начнет генерировать громоздкие SQL-инструкции.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964132
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
когда нужно будет что-то посложнее

"А ты её упрости" (с) :))

На самом деле абсолютно пофигу что он там генерит, важно, во что это внутри сервера БД преобразуется. Пока что ни разу не встречал проблем производительности EF из-за громоздкого sql или недостаточно быстрого меппинга. Встречал только из-за неправильного его использования (непонимания eager/lazy load и проблемы n+1) и из-за корявостей проектирования БД (необходимость слишком многих джойнов, отсутствие индексов и т.п.)
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964150
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
писал маленькую систему складского учета на EF core-десять раз пожалел.
Особенно тяжело было сделать запрос остатка определенного товара на дату.
Новые проекты больше не буду на EF писать.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964159
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
то не забудь в нем вызвать базовый класс:
Это необязательно, если ты не используешь соглашения )
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964170
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Это необязательно, если ты не используешь соглашения )


Там в базовом что-то точно конфигурится, поэтому если перегружаешь, то надо и базовый вызвать - я же говорю, что уже наступал на грабли с этим. Если у тебя все конфигурится по конвеншенам и ты этот метод вообще не перегружаешь, то, понятно, ничего делать не требуется. В общем-то, перегрузка неабстрактного метода это, в большинстве случаев, антипаттерн, но тут так уж исторически задизайнили.
...
Рейтинг: 0 / 0
Хорошая практика использования EF DbContext
    #39964172
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
fkthat,
писал маленькую систему складского учета на EF core-десять раз пожалел.
Особенно тяжело было сделать запрос остатка определенного товара на дату.
Новые проекты больше не буду на EF писать.

Первый раз взял в руки электродрель, просверлил себе ногу, ну его в пень - лучше буду дальше ручной пользоваться. :)
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Хорошая практика использования EF DbContext
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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