4. Minimal APIs - добавляем репозиторий

Поділитися
Вставка
  • Опубліковано 8 січ 2025

КОМЕНТАРІ • 21

  • @TheShmrsh
    @TheShmrsh 8 місяців тому +1

    я даже не понял что такое репозиторий, отличный туториал))

  • @orhanaliyev9774
    @orhanaliyev9774 Рік тому

    Надо же для репозитория отдельный файл )) прогресс

  • @Adel__007
    @Adel__007 2 роки тому +3

    А зачем в репозитории делать Dispose контекста БД ? вроде у контекста БД lifetime scoped и контейнер сам его удалит в конце запроса

  • @hello_world_zz
    @hello_world_zz Рік тому

    Спссибо

  • @andys9810
    @andys9810 2 роки тому +1

    не совсем понял: с данным репозиторием, если запись не найдена в базе, то клиент об этом не узнает и всё равно получит Results.NoContent()?

  • @alexsavchuk2343
    @alexsavchuk2343 2 роки тому

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

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 роки тому

      Что вы имеете в виду? Чтоб автоматически методы добавились?

    • @alexsavchuk2343
      @alexsavchuk2343 2 роки тому

      @@PlatinumTechTalks да, при клике на иконку рефакторинга, чтобы был пункт "implement interface..."

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 роки тому

      А расширение C# в VS Code стоит? (прежнее название OmniSharp)

    • @alexsavchuk2343
      @alexsavchuk2343 2 роки тому

      @@PlatinumTechTalks стоит C# for Visual Studio Code (powered by OmniSharp). Но, к сожалению, реализовать интерфейс по клику так и не выходит( Лампочка даже не появляется. Кстати, а данный проект не удобнее будет писать в Visual Studio? Там рефакторинг и InteliSence работает получше на мой взгляд для C#.

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 роки тому

      Странно, что с расширением не подсказывает.. может криво встало или с настройками чего… да, можно проект писать и в Visual Studio, там много чего из коробки работает, можно и в Rider, он тоже очень прикольный нынче и ничем не уступает VS (но тут кому что больше нравится). В рамках этого курса была идея использовать VS Code, чтобы продемонстрировать, что разработку можно вести в легковесном редакторе кода. А так это не обязательно, можно использовать что угодно, хоть блокнот и консоль :)

  • @inzhener-blog
    @inzhener-blog 2 роки тому

    Почему редактор не Microsoft VS?

  • @taifunov
    @taifunov 2 роки тому

    А зачем репозиторий, если еф кор и так репозиторий уже?

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 роки тому +5

      действительно, EF Core уже реализует паттерн Репозиторий и писать ещё один слой необязательно. Однако многие всё равно его реализуют и в этом случае видео может быть полезным. Из этих соображений и добавили репозиторий. Но если бы причина "другие так делают" была единственной, то она была бы странной причиной. Почему другие так делают? Есть причины, почему реализация репозитория поверх EF Core может быть полезной:
      1. Изолировать код для работы с БД. Таким образом мы точно знаем, где лежит весь наш код для работы с базой.
      2. Агрегация: у нас есть сущность Отель. Как единая точка, вокруг которой всё вертится. И, например, у каждого отеля есть отзывы на него. Отзывы имеют смысл, только если они связаны с отелем. Если мы используем DDD подход, то он предполагает, что отзывы должны меняться только через отель. В рамках репозитория легко можно это сделать.
      3. Можно легко замокать отдельно взятый репозиторий и протестировать его. Хотя это не сильно большой плюс.
      Можно найти и другие плюсы..

    • @alexkanunnikov4908
      @alexkanunnikov4908 2 роки тому

      @@PlatinumTechTalks обычно холивары идут между контекстом и репозиторием. Типа DbContext и так предполагает работу с базой и т.п. Но у репозитория есть интерфейс, а у контекста - нет. Это мешает в тестировании порой

  • @kslmPtr
    @kslmPtr 2 роки тому

    По факту этот api просто сахар без скобочек.
    Наверное это может использоваться в самых простых апи без сложной логики

    • @govorun5909
      @govorun5909 2 роки тому

      По желанию усложнить можно

    • @kslmPtr
      @kslmPtr 2 роки тому

      @@govorun5909 что это за желание ))
      При сложной логике с различными валидациями и кучей сервисов во всём этом будет трубно разобраться. Потому и минимал апи, видимо.
      Так что усложнять не надо ))

    • @hilton8370
      @hilton8370 11 місяців тому

      @@kslmPtr Добавляй контроллеры более нормальную архитектуру проекта и разберешься во всем насчет кучи сервисов у тебя будет выбор монолит или микро сервис