Entity Framework Core на практике : репозитории, миграции, модели, связи, запросы к PostgreSQL

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024

Комментарии • 90

  • @KirillSachkov
    @KirillSachkov  8 месяцев назад +8

    Спасибо за просмотр! Пишите темы, по которых хотите видео! Мой телеграм канал - t.me/sachkov_blog

    • @SonicMusics
      @SonicMusics 8 месяцев назад +2

      Наверно многим будет интересна тема авторизации и аутентификации

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад +1

      @@SonicMusics Планирую в скором времени сделать видео на эту тему, может и несколько, так как тема довольно большая

  • @777homosapien
    @777homosapien 6 месяцев назад +10

    Урок хороший, молодец но 1) модели в доменку 2) не data access а persistence 3) Id проставиться по соглашению 4) В новых версиях Ef core связи тоже проставятся если они построены как у тебя 5) репозитории в ef core часто ругают и я тоже так как это репозиторий в репозитории, как Вы на своих проектах это реализовываете, у меня были проекты где использовался репозиторий и где нет, могу сказать что без репозитория было легче (если репозиторий то + паттерн спецификация) 5) пагинация в больших проектах это целое искусство с клоунами и костылями кто знает тот знает

  • @Im_like_Merphy
    @Im_like_Merphy 6 месяцев назад +3

    Очередное нереально крутое практическое видео, очень тяжело без практики понять о чем идет речь, когда читаешь теорию в интернете. Но ваши труды как глоток свежего воздуха...БЛАГОДАРЮ!

  • @playvirtul5588
    @playvirtul5588 8 месяцев назад +9

    Базированное видео про ef core, молодец!

  • @yakov.lopatin
    @yakov.lopatin 8 месяцев назад +3

    Привет, посмотрел твои предыдущие ролики. Очень нравится контент, который ты делаешь. Видео как всегда оказалось супер полезным, однозанчно лайк🤝

  • @GustavoFring-f8z
    @GustavoFring-f8z 5 месяцев назад +1

    отличное видео, продолжай в том же духе, теперь мне стало понятно, как работать с отношениями между сущностями в репозиториях

  • @AvianYpy
    @AvianYpy 6 месяцев назад +1

    спасибо огромное за урок. сейчас как раз пишу диплом, из других гайдов как то не очень понятно, ведь все на конкретных примерах, или вообще чисто код пишут, объясняя это как:"пук-пук, это тула, это сюда, это для связи того метода с этим, вот, можно запускать наш гугл2". а у тебя все так быстро, четко, все понятно, прямо как с другом в дс посидел, и он мне всё объяснил, спасибо еще раз

  • @ВалерийСтарцев-з1у
    @ВалерийСтарцев-з1у 2 месяца назад +1

    Спасибо за видео - хорошо помогло в освоении работы с EF Core!

  • @julik_r
    @julik_r 8 месяцев назад +3

    Классное видео, спасибо!

  • @SonicMusics
    @SonicMusics 8 месяцев назад +1

    Отличный урок, как раз по связям моделей интересовался. Однозначно лайк подписка. Хочу больше уроков.

  • @АлексейАлександрович-с4д3м

    Видос отличный: всё по делу, без жеванины + полезные объяснения👍

  • @ГолумРостительний
    @ГолумРостительний 8 месяцев назад +1

    Шикарный туториал. Можешь снять видео как делать тесты (викторины) с одним правильным вариантом, счетчиком тестов и свободным переключением между тестами (вопросами) и подсчетом результата в конце прохождения теста. Тесты берутся из базы данных. И было бы неплохо если бы ты показыва результат того, что ты накодирывал)

  • @PEREPELITSA_KIRILL
    @PEREPELITSA_KIRILL 8 месяцев назад +1

    Спасибо большое тезка многое понял. Хорошо объясняешь все четко по делу.

  • @ЛеонидАверин-р3о
    @ЛеонидАверин-р3о 6 месяцев назад +1

    За сорок минут объяснил больше чем сеньор за две недели

  • @Easycore2000
    @Easycore2000 8 месяцев назад +3

    По asp-у и реакту нужно больше практических видосов, а то кроме англо. блогеров и документации инфы почти нет. Желаю успехов!

  • @klapushev
    @klapushev 6 месяцев назад +1

    Очень информативно получилось! Это определённо лукас👍

  • @delfina9835
    @delfina9835 8 месяцев назад +1

    Спасибо за урок, было интересно, полезно и приятно слушать! Удачи Вам в развитии канала, с нетерпением жду выход новых роликов.

  • @bekturtoktobekov6642
    @bekturtoktobekov6642 8 месяцев назад +2

    Крутой урок. Хотелось бы видеть больше видео по web api advanced

  • @Winnni951
    @Winnni951 8 месяцев назад +2

    Спасибо за видео, все очень понятно объясняешь! Я только начал изучать Entity Framework Core, понял как создаются сущности, миграции, связи и их работу с БД, но зачем я это написал так и не понятно.. Не мог ли ты создать продолжение этому видео, где будет дальнейшая работа с API и где ты будешь показывать, как ты с какого-то ресурса отсылаешь API, это все попадает в DataAccess.Postgress, данные меняются в БД и тд. Очень хочется понять для чего ты показал, как создается бэк и как это использовать. Если можешь, был бы безумно благодарен, так как ты очень классно объясняешь(я уже много видосов посмотрел про entity и rest API, так что знаю о чем говорю).

  • @rubiks7196
    @rubiks7196 8 месяцев назад +1

    На счет Update2 прям круто, спасибо

  • @АлексейБуров-т7ц
    @АлексейБуров-т7ц 7 месяцев назад +1

    У тебя очень круто получается объяснять и показывать на примерах материал!! 👍👍
    Разбери плиз более глубоко миграции. Ну нету нигде этого контента по крайней мере на русском!
    Миграции это для меня боль, думаю и для многих.
    Вопросы, которые висят:
    Как настроить миграцию при смене структуры сущности?
    Если тебе нужно произвести вычисления при смене структуры сущности? (Пусть даже примитивно - у тебя появилось новое поле, а тебе нужно заполнить данными из старого поля)
    Как откатить один этап миграции, если всё упало?

  • @МихаилЦытриков
    @МихаилЦытриков 7 месяцев назад +2

    Очень полезные и интересные видео, хотелось бы узнать как работать с Image на стороне сервера и как клиентскому приложению дать доступ к папке на стороне сервера

  • @Enigma-mv6ss
    @Enigma-mv6ss 8 месяцев назад +4

    Можно видео про аггрегаты , sqrs реализация с mediator и без , value object , в принципи я все это понимаю но хотел бы видеть твои примеры очень хорошо объясняешь

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад +1

      Со временем обязательно будет

  • @Макс-к3ц4р
    @Макс-к3ц4р 7 месяцев назад +1

    было бы очень интересно посмотреть о разных случаях с entity framework на проде, например что если нам нужно откатить определенную миграцию из прода, или если нам нужно добавить или забрать столбец не останавливая сервис (т.е. чтобы и старый инстенс сервиса, и новый мог работать с базой и не ломаться)

  • @kobakamladze4175
    @kobakamladze4175 7 месяцев назад +1

    Успехов!

  • @mardul9087
    @mardul9087 4 месяца назад

    Все очень здорово, спасибо! Единственное, мне кажется, обновление все-таки лучше делать методом Update, обычно на вход подается объект (с изменениями), а не отдельные поля. А ExecuteUpdate больше подходит для массового обновления (как и ExecuteDelete)

  • @lookat2868
    @lookat2868 7 месяцев назад +1

    То что надо, сразу подписка и лайк

  • @Enigma-mv6ss
    @Enigma-mv6ss 8 месяцев назад +1

    Круто , хотел бы продолжение DDD , все супер

  • @АртемийКонь
    @АртемийКонь 8 месяцев назад +2

    Очень крутой урок, спасибо. Недеюсь увидеть "Всё об ASP NET Core"😅

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      Всё будет со временем)

    • @АртемийКонь
      @АртемийКонь 8 месяцев назад +1

      ​@@KirillSachkovКстати, круглая аватарка выглядит поприятнее как по мне.

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      @@АртемийКонь хорошо, учту)

    • @Polite_person_
      @Polite_person_ 8 месяцев назад +2

      Кстати да, на канале есть, но хотелось бы еще увидеть небольшой проект asp net core + react с авторизацией и работой с файлами.

  • @klapushev
    @klapushev 6 месяцев назад +2

    Хотелось бы ещё посмотреть как правильно делать Сервисы

  • @СергейТерехов-б2ц
    @СергейТерехов-б2ц 8 месяцев назад +1

    Очень круто объяснил и такой годной инфы на просторах интернета не так много! Спасибо!
    а почему тип данных в Id Guid, а не int?

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      С Guid больше возможностей, можно самому генерировать, где тебе удобно + исключается возможность создания дубликатов с одним и тем же ключом

  • @ЛеонидАверин-р3о
    @ЛеонидАверин-р3о 6 месяцев назад +1

    Хотелось бы увидеть доработку проекта, подключение всех зависимостей, опрокидывание IoC, до swagger и тестов

  • @p.polunin
    @p.polunin 8 месяцев назад +1

    Песня просто!

  • @Дмитрийсекрет-н7о
    @Дмитрийсекрет-н7о 8 месяцев назад +1

    Спастбо. Крадко, емко, нформативно. А приходилось работать Blazor?

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад +2

      Спасибо! Совсем немного, давно, сейчас основной стек это asp net core + react

    • @Дмитрийсекрет-н7о
      @Дмитрийсекрет-н7о 8 месяцев назад

      @@KirillSachkov Отлично. Тоже хотел начать параленьно React. Тогда еще вопрос. А как внедрить React в уже существующие приложение net core Mvc?

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад +1

      Есть nuget пакеты для этого, на метаните есть статьи с внедрением react в mvc проект. По сути эти библиотеки позволяют использовать jsx файлы, но сразу скажу, что такой подход не лучший и конечно лучше делать api отдельно

    • @Дмитрийсекрет-н7о
      @Дмитрийсекрет-н7о 8 месяцев назад

      @@KirillSachkov Спасибо.

  • @makc3682
    @makc3682 6 месяцев назад

    Там по каким то правилам - если у тебя асинхронный метод, то его название должно оканчиваться на Async. Например Get должон быть в примере GetAsync, и пр.

    • @KirillSachkov
      @KirillSachkov  6 месяцев назад

      Зависит от команды, где-то это опускается

  • @shavadre
    @shavadre 5 месяцев назад +2

    Почему никто и нигде не показывает как правильно обновлять сложные модели в EF? Везде детские примеры какие-то...

  • @yava43
    @yava43 5 месяцев назад +1

    База. А есть ли смысл оборачивать репозиторий в репозиторий ? =)) EF из коробки даёт UnitOfWork + DbSet который представляет из себя репозиторий

    • @KirillSachkov
      @KirillSachkov  5 месяцев назад

      Есть смысл, когда сложная логика взаимодействия с бд

  • @ethrealroma
    @ethrealroma 6 месяцев назад +1

    Привет.
    я уже имею свои проекты на гит хабе но я не могу разобраться со структурами данных можешь дать какие-то советы (Microsoft документацию читал и ничего не понял)
    ну и спасибо за объяснение по EF core

    • @KirillSachkov
      @KirillSachkov  6 месяцев назад

      Почитай на метаните, там нормально объясняется

  • @АлексейБуров-т7ц
    @АлексейБуров-т7ц 7 месяцев назад +1

    Кажется клава у тебя прикольная) Как называется? )

    • @KirillSachkov
      @KirillSachkov  7 месяцев назад

      Varmilo va87m

    • @IsEmtyFact
      @IsEmtyFact 7 месяцев назад

      12+ тысяч рублей, да... 😅

  • @sanditik
    @sanditik Месяц назад

    а разве обязательно надо писать такие конфигурации? ну то есть ef же сам всё делает за тебя, а так как будто только лишние файлы в проекте и код
    я сам новичок, поэтому возможно и чуть-чуть бреда несу, но прошу объяснения пожалуйста

  • @begemotik88888888
    @begemotik88888888 3 месяца назад

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

  • @SonicMusics
    @SonicMusics 8 месяцев назад +1

    вопрос: все эти связи делаешь в слое DataAccess. А в слое Core их нет или они дублируются?

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      Вообще сначала создаются domain модели со всеми связями, объектами значения и тд, а потом уже под них проектируется модель для бд, которая может отличаться. Также используют подход, где domain модель и есть модель для бд

  • @ГригорийСтепанов-ы3ц
    @ГригорийСтепанов-ы3ц 8 месяцев назад +1

    Привет . Расскажи как работать уже с существующей базой где уже созданы таблицы/связи/хранимки . И как получать/обновлять данные через хранимки/запросы

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

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

  • @devnull5762
    @devnull5762 Месяц назад

    Подскажите, пожалуйста, а что если таблица с миграциями создается пустая, а таблица модели не создается? Проверил уже все файльі, гуглил, чистил миграции, ничего не помогает

  • @esquire3868
    @esquire3868 6 месяцев назад +1

    Уважаемый, список и массив это 2 разных типа данных, зачем в модели указывать, что список равен массиву?)

    • @KirillSachkov
      @KirillSachkov  6 месяцев назад +1

      Уважаемый, прочитайте пожалуйста новые возможности C# 12, думаю, что гуглом вы умеете пользоваться

    • @esquire3868
      @esquire3868 6 месяцев назад +2

      @@KirillSachkov Уважаемый, спасибо за открытие, не знал про нововведение)

  • @Polite_person_
    @Polite_person_ 8 месяцев назад +1

    ПОЖАЛУЙСТА НЕ ОСТАНАВЛИВАЙСЯ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @ЭдгарЭдгар-с4л
    @ЭдгарЭдгар-с4л 8 месяцев назад +1

    По поводу закольцованных ссылок, для сериализаторов есть настройка, чтобы избежать такого поведения

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      Я знаю, но лучше этого не допускать

    • @Artem-lk9ru
      @Artem-lk9ru 4 месяца назад

      Подскажите пожалуйста как решить проблему закольцованных ссылок. Где почитать про это?

  • @Edgar-pu1lc
    @Edgar-pu1lc 5 месяцев назад +1

    а что если при обновлении допустим несколько полей отсутствуют(patch метод например),тогда что сделать ?

    • @KirillSachkov
      @KirillSachkov  5 месяцев назад

      Другой метод использовать, через change tracker

  • @godlevel-s3y
    @godlevel-s3y 8 месяцев назад +1

    Скажи как сделать такую же вижуалку, какие настройки у тебя?:

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      Просто установленная тема midnightlight

  • @itirush2701
    @itirush2701 8 месяцев назад +1

    Какая у тебя клавиатура ?)

  • @ugin-nb4sy
    @ugin-nb4sy 6 месяцев назад +1

    Я заранее извиняюсь !! Для чего так погибать ради одно нативного SQL-скрипта схемы на создание базы данных и четыре на CRUD операции и строка подключения !!?? Это лень программиста SQL писать или философия Microsoft всё автоматизировать даже скрипты SQL ?? Или это графомания ?? Или это способ продать себя по дороже ?? Вот реально не понятно !! Я могу понять в случае аутентификации, что там за тебя создаются таблики и есть менеджер по работе с ними и это большой плюс, а вот при гибкой проектировки это вызывается много вопросов !!!

  • @javas206
    @javas206 7 месяцев назад +1

    Привет! Весь смысл миграции в том чтобы классы превращались в таблицы? Просто я не очень понимаю, лично у меня есть проект asp net mvc где никакие миграции я не делаю, таблицы сами создаются исходя из классов моделей в mysql. Даже если я сам удаляю все таблицы, то они потом при первом заходе на сайт после удаления опять воссаздаются. Тогда в чем смысл миграций? Может я чего то не понимаю

    • @shavadre
      @shavadre 5 месяцев назад

      А куда у тебя данные деваются? Миграции придумали, чтобы данные в проде не терять. Если постоянно удалять/создавать БД - то никакие миграции не нужны, ты прав.

  • @p.polunin
    @p.polunin 8 месяцев назад +1

    Может тебе задонатить?

    • @KirillSachkov
      @KirillSachkov  8 месяцев назад

      Ну это тебе решать) Только пока некуда, со временем добавлю возможность поддержать меня)

  • @fentan6806
    @fentan6806 5 месяцев назад +1

    У тебя глаза не болят от такой цветовой схемы?

  • @ГригорийГанчарук
    @ГригорийГанчарук 7 месяцев назад +1

    нам не нужны ваши фрейморки