DB + EF + Repository + UnitOfWork

Поделиться
HTML-код
  • Опубликовано: 19 апр 2024
  • Покажу, как я использую паттерны Repository и UnitOfWork совместно с EntityFramework Core. А также постараюсь объяснить почему я так делаю. Создадим пару сущностей, "положим" их в БД при этом создадим миграции для EntityFrameworkCore и многое другое.
    Благодарности и помощь каналу принимаются:
    www.calabonga.net/site/thanks
    Наши видео доступны и на Дзэн:
    dzen.ru/calabonga
    Можно стать спонсором, и вы получите доступ к эксклюзивным бонусам:
    * boosty.to/calabonga
    Я использую хостинг Reg.ru
    htttps://reg.ru/?rlink=reflink-11163551

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

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

    есть интересная библиотека Bogus для сидирования данных. особо может быть хороша в связке с ef

  • @DENDYTWOO
    @DENDYTWOO 2 месяца назад

    а что за расширение, которое показывает какие сущности являются таблицами в бд?

  • @user-ii9xe4pu6x
    @user-ii9xe4pu6x 2 месяца назад +1

    Видео длинное, хотя бы обьяснили тогда, что такое паттерн Repository и что за паттерн UnitOfWork, и как эти два паттерна между собой сочитаются. А то взяли и просто подключили свои библиотеки.

    • @SergeiCalabonga
      @SergeiCalabonga  2 месяца назад

      Так если "просто подключили", то что объяснять? Да и а начале видео, я так и сказал, что "покажу, как я это делаю", а не "расскажу про основные паттерны работы DAL, про которые разработчик должен знать и без меня, не говоря уже, что в интернете полно информации". 🙂

    • @ziegimondvishneuski3317
      @ziegimondvishneuski3317 2 месяца назад +1

      Repository - это обстракция, для обеспечения гибкости. Сегодня вы работаете с Posgress, завтра с MSSql, и для облегчения перехода от одного к другому, делают такую вот прослойку. UnitOfWork обеспечивает целостность сохранения данных в разрезе Transaction

  • @74Photon
    @74Photon 2 месяца назад

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

    • @SergeiCalabonga
      @SergeiCalabonga  2 месяца назад +1

      boosty.to/calabonga/posts/9d1be9bb-a117-4a17-877e-252d58be9800?share=post_link

    • @SergeiCalabonga
      @SergeiCalabonga  2 месяца назад +1

      boosty.to/calabonga/posts/136c41fd-1c86-47a2-9d26-feee6355cfca?share=post_link

  • @user-et8ig8hl7k
    @user-et8ig8hl7k 2 месяца назад

    А почему при сохранении в БД используется SpecifyKind? Он же не преобразует дату, а только меняет Kind. Если дата была Local, то значение не поменяется. Не логичнее использовать ToUniversalTime?

    • @SergeiCalabonga
      @SergeiCalabonga  2 месяца назад

      Я пробовал, у меня получилось на тот момент. Попробуйте. Очень интересно, получится или нет.

    • @user-et8ig8hl7k
      @user-et8ig8hl7k 2 месяца назад

      @@SergeiCalabonga потыкал разные варианты на текущем проекте и получилось следующее. При использовании LinqDynamic для генерации запросов в БД обязательно использовать ToUniversalTime. Иначе сначала либа конвертнет в Local, а затем мы проставим UTC. И в БД появится гап на оффсет даты при сравнениях и фильтрации. А вот если без LinqDynamic работать, то разницы можно сказать и нету

    • @SergeiCalabonga
      @SergeiCalabonga  2 месяца назад

      О! Это интересная информация. Приму к сведению! Спасибо огромное!