Entity Framework Core 5.0 - добавляем базу данных в проект

preview_player
Показать описание
Разработка ASP NET Core Web API с нуля профессионально. Видео 3. Entity Framework, добавление базы данных в проект.

Что будем делать: узнаем, как работает Entity Framework, какие есть подходы к построению базы данных в EF Core, разберем теорию работы Entity Framework'а и закрепим на практике, добавив в приложение возможность работы с базой данных.

Рекомендации по теме
Комментарии
Автор

А что так резко сложна то стало? 😵‍💫 и без картинок. Лайк конечно за мастерство. Надеюсь дальше будет понятнее, что от куда, для чего, и зачем... 👍

BrownAleks
Автор

IRepository и UnitOfWork отдельное спасибо.

dannycyberwalker
Автор

Большое спасибо за ролики. Для начинающих очень быстро и непонятно конечно. Есть какая то литература, которая объясняет подробнее чтобы въехать в суть подробнее.

neliquidmusic
Автор

Отличный формат роликов . После прочтения теории неплохо шлифует знания .

sanekyakar
Автор

А по каким таким принципам ты берешь доменную сущность Note и используешь её в DbSet? В DbSet используются сущности, которые будут маппиться на таблицы базы данных и они должны быть развязаны с доменными сущностями. Да и вообще использование DbSet уже говорит о привязке к хранению в БД. А что если завтра я захочу хранить данные в txt файле? Для этого и придумали репозитории. Есть единый интерфейс доступа к данным, который используется приложением, а реализация может меняться и ничего не поломается. Сегодня реализация хранит данные в БД, а завтра я сделаю реализацию, которая будет хранить данные на папирусе, при этом интерфейс останется тем же и можно будет просто перерегистрировать зависимость в контейнере.

blrlwos
Автор

Бля, вы все не понимаете насколько годную архитектуру чувак сделал.... Этот человек отказался от репо, потому что он шарит и знает что репо это антипаттерн

tmdmtoe
Автор

А разве использование Класса Dbcontext в Domain не будет вводить нас в зависимость от фреймворка EF, на уровне Core? В схеме чистой архитектуры изображено что Уровень Core не должен зависеть от фреймворка.

obqzthj
Автор

Огромное спасибо, все понятно и по делу.

orhanaliyev
Автор

Когда нужно создавать первую миграцию?Как я понимаю, после создания уровня infrastructure? Добавив контекст в DI контейнер?

winstochurgle
Автор

Какие преимущества такой "реализации" репозитория через DbSet<T>?
Учитывая, что дальше используется MediatR, то вся дополнительная логика (сортировка, фильтрация, пагинация, преобразования, и тд) будет:
1) либо в Handler классах прямо в методе Handle
2) либо в доп сервисе, который нужно будет создать, который и будет фактически служить аналогом репозитория.

Это же нарушает солид напрямую, т.к всегда реализация будет прямо в местах, куда прокидывается интерфейс, где есть DbSet.

Fikusiklol
Автор

Отлично. Но что то уроки по времени небольшие. Маловато будет, маловато ))

yomwojp
Автор

Здравствуйте. Спасибо за видимо. Подскажите, разве бизнес логику не надо выносить отдельно что бы у нас не торчали dbset из интерфейса, например в спецификацию.? Спасибо.

homosapien
Автор

Здравствуйте, подскажите пожалуйста, что нужно поправить чтоб работать с SqlServer. Меняется же только строка подключения и в классе DependencyInjection проэкта Notes.Persistence

на
или еще что-то?

FunnyDony
Автор

не совсем понял, зачем определяем метод SaveChanges если его в дальнейшем можно вызвать из DbContext. В чем преимущество такого подхода?

eefwssr
Автор

Есть архитектурный изъян. Класс DbSet просочился в Application слой. Имеем зависимость Application от Infrastructure

drn
Автор

Подача супер! Не коротко и не мало инфы ! А может ли entity framework разделять на bounded context как в нхибернейте? Ну чтобы было несколько контекстов которые не зависят друг от друга и которые нормально мигрируются?

bek
Автор

Я не понимаю почему БД завит от application, я про интрефейс, который в application и используется в БД ?

hernklw
Автор

Привет, у меня вопрос. Я не совсем понимаю почему, но EF не добавляет данные в базу, точнее так - данные есть, но они не отображаются в MSSQL менеджере. При добавлении и удалении данных всё работает как надо. Но таблицы в менеджере пустые. mdf файла в папке bin\Debag у меня нет

siera
Автор

DbContext интерфейс должен быть в infrastructure, не в application слое

enfissione
Автор

Спасибо за уроки, очень полезно! Такой вопрос возник - для чего в интерфейсе INotesDBContext определен метод SaveChangesAsync? если он итак уже реализован в DbContext?

rustrar