Automapper в ASP.NET Web API

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 พ.ย. 2024

ความคิดเห็น • 65

  • @redice8928
    @redice8928 ปีที่แล้ว +12

    Мне понадобился год коммерческой разработки, чтобы понять что происходит на этом видео 👍

    • @ciipher430
      @ciipher430 ปีที่แล้ว

      Привет. Я начинаю углубляться в ASP, до этого я работал с C++. И вот не совсем понимаю зачем использовать здесь Assembly и позднее связывание. Я понимаю, что это нужно для маппинга. Но разве это не говорит о плохой архитектуре? Разве не лучше будет просто организовать хорошую архитектуру, пускай и будет чуть больше классов, но не будет позднего связывания. Это ведь сильно бьет по производительности. Или я чего-то не понимаю?

    • @vladoss4643
      @vladoss4643 5 หลายเดือนก่อน

      Аналогично))

  • @antya1126
    @antya1126 6 หลายเดือนก่อน

    После года изучения c# ваш курс для меня стал определяющим. Безумно помог написать тестовое задание и получить работу в разработке

    • @murr_ka4374
      @murr_ka4374 5 หลายเดือนก่อน

      Аналогично )

  • @aleksandr4409
    @aleksandr4409 2 ปีที่แล้ว +2

    Начал смотреть и понял что понятно все очень в общих чертах. Пойду читать про .net core и ef сначала.

    • @maxil2761
      @maxil2761 2 ปีที่แล้ว +1

      Вот это правильный подход!

  • @alexandr1408
    @alexandr1408 3 ปีที่แล้ว +22

    Нравятся видео, но есть небольшое пожелание (ко всем урокам, а не только к данному ролику), если возможно: хорошо бы хоть немного объяснять практическую цель той или иной операции. Не просто "это мы сделаем так", а "мы это сделаем вот так потому, что... а если сделать вот эдак, то будет вон как, что вызовет такие-то проблемы". Пример. Автомаппинг. Идея понятна. Но почему в данном конкретном случае нельзя обойтись нашей моделькой Пользователь?

    • @PlatinumTechTalks
      @PlatinumTechTalks  3 ปีที่แล้ว +5

      спасибо, это очень хорошее замечание, обязательно учтем! (правда, видимо, уже не в этом курсе так как этап его записи практически завершен...)

  • @dimka59ru
    @dimka59ru 3 หลายเดือนก่อน

    Спасибо, все понятно. Но крайне кратко.

  • @AndrewYurchenko
    @AndrewYurchenko 2 ปีที่แล้ว +19

    Здравствуйте ребят. Прежде всего хотел сказать спасибо за уроки. На самом деле в РУ сегменте, очень мало вообще практических уроков. Везде одна теория.
    Хотел бы так же присоединиться к пожеланию, немного объяснять что и зачем. Ну и хоть немного о том, как работает и почему выбрали именно это, а не другое. Правда - слишком скупо видео на это. Вижу конечно, что код был написан и поверх уже наложен звук с комментариями к нему. Не очень конечно. Так-как многие вещи например в коде человек пишет, а голос говорит совершенно про другое. И ужасный рассинхрон получается. Я понимаю если у меня уже есть опыт написания. Но ведь это как бы для обучения. Что не есть хорошо.
    И еще от себя:
    Кодер конечно для себя "красивостей навел" в редакторе. Двойной знак равенства "==" у него пишется как одинарный "=". Что очень сбивает. Ведь новички без объяснения сначала просто тупо повторяют. Вот я так например делал. Ну и в итоге пол часа искал ошибку, которая по вине "свистелок и перделок" которые себе автор кода настроил, висела у меня ошибка. Благо вы хоть код приложили. Там уже увидел что на самом деле должно быть.
    Тут так же совет!
    Для обучения желательно максимально по дефолту редактор использовать. Ну вы же все же на обучение нацелились, а не понтануться перед людьми, как быстро можно писать код.
    Это сугубо личное мнение. Но максимально думаю общее для всех, кто занимается обучением новичков.

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 ปีที่แล้ว +2

      Здравствуйте! Спасибо вам большое и за просмотр, и за приятный отзыв, и особенно за очень конструктивные замечания. Это будет очень полезно для того, чтобы делать лучше! Постараемся всё учесть в будущих видео (кроме тех, которые уже записаны). Спасибо!

    • @maxil2761
      @maxil2761 2 ปีที่แล้ว +2

      Новичкам надо книжки читать, видосы уже потом смотреть. Это серия для опытных разрабов.

    • @AndrewYurchenko
      @AndrewYurchenko 2 ปีที่แล้ว +4

      @@maxil2761 вы в корне не правы. Книги дают лишь теорию. Практику с наглядным примером, ни одна книга не сможет заменить.
      Популизм тут не уместен. ☝

    • @maxil2761
      @maxil2761 2 ปีที่แล้ว +1

      @@AndrewYurchenko О каком популизме речь? Вам как раз теории и не хватает. Конкретно по Вашей фразе "Ну и хоть немного о том, как работает". Вот это и надо, о том КАК работает, либо в доке почитать, либо в книге например.

    • @AndrewYurchenko
      @AndrewYurchenko 2 ปีที่แล้ว +4

      ​@@maxil2761 по факту. Покажите мне книгу, про использование того же mapper или например того же NGRX для ангуляра. ))
      Думаю, дальше продолжать и не стоит.
      Тут же, на практике показывают ребята, связку инструментов. И пожелание было, немного объяснить почему такой выбор пал, а не например самому писать мапы.
      Я конечно не могу знать вашего возраста и тем более времени работы с кодом.
      От себя могу добавить.
      Разработкой занимаюсь более 16 лет и 11 из них коммерческой.
      И знаю, о чем говорю.
      Ни одна книга, никогда не заменит, наглядного пособия, особенно для новичка.
      Все остальное - банальный популизм.

  • @YaroslavShamov
    @YaroslavShamov ปีที่แล้ว

    Спасибо за урок.

  • @ptkuz2012
    @ptkuz2012 2 ปีที่แล้ว +2

    Классные уроки) Не все понятно, конечно. Но думаю, дальше наступит прозрение))

  • @D6t1qO2rZZ_9DcHLg
    @D6t1qO2rZZ_9DcHLg 3 ปีที่แล้ว

    Привет, прикольный формат. Коротко и ясно. Спасибо

  • @Nik-cv5bi
    @Nik-cv5bi ปีที่แล้ว +2

    Понятно примерно "Ничего". Видео по типу " Смотрите как мы умеем".

  • @artemadeev7444
    @artemadeev7444 3 ปีที่แล้ว

    сложно пока для меня, буду разбираться. Спасибо

  • @sergk1393
    @sergk1393 3 ปีที่แล้ว +1

    Спасибо!!!!!

  • @alexanderspiegel6747
    @alexanderspiegel6747 3 ปีที่แล้ว +6

    Использую automapper достаточно активно. Но начиная с 4ой минуты потерял нить … Возможно ли более подробно объяснить что и зачем делается ?

    • @PlatinumTechTalks
      @PlatinumTechTalks  3 ปีที่แล้ว +1

      хм.. но на 4й минуте видео заканчивается... но в целом ваше замечание понятно, спасибо! возможно про Automapper стоит поговорить потом отдельно.
      похоже что на данный момент это самый неоднозначный выпуск получился...

    • @KOCadm
      @KOCadm 3 ปีที่แล้ว

      Также работаю с этой либой-аутомапер но без рефлексии. А рефлексия часом не понижает скорость роботы аппы? тут с Рефлексией не понятно. Так как не имею с ней достаточно опыта.

    • @beloved_guy
      @beloved_guy 2 ปีที่แล้ว +3

      @@PlatinumTechTalks видео идёт 4:12, а значит, заканчивается на 5-й минуте) 4-я минута начинается с 3:01. Сорян за дотошность) а за видос спасибо!

  • @Miklrav
    @Miklrav ปีที่แล้ว

    Здравствуйте. Спасибо за интересный курс. Один вопрос не по теме, какой шрифт вы используете в редакторе студии? Явно не стандартный ))) Заранее спасибо.

  • @maxil2761
    @maxil2761 2 ปีที่แล้ว

    Лайк, подписка :)

  • @duming3076
    @duming3076 2 ปีที่แล้ว

    非常感谢!

  • @andreisokolov187
    @andreisokolov187 3 ปีที่แล้ว

    Спасибо. ^^

  • @dmitriusold8084
    @dmitriusold8084 ปีที่แล้ว

    Обьясните пж зачем использовать Assembly?

  • @BraentR
    @BraentR 3 ปีที่แล้ว

    Спасибо

  • @scc-6
    @scc-6 ปีที่แล้ว

    Я правильно понимаю, что это больше про архитектуру, а не что-то начинающим девам на шарпе? Я досмотр., конечно, но туго на х2 идёт

  • @Дмитрийсекрет-н7о
    @Дмитрийсекрет-н7о 3 ปีที่แล้ว

    Спасибо.

  • @ciipher430
    @ciipher430 ปีที่แล้ว

    Привет. Спасибо тебе за твои видео. Столько полезного в 10 минутах сейчас редко можно найти. Я начинаю углубляться в ASP, до этого я работал с C++. И вот не совсем понимаю зачем использовать здесь Assembly и позднее связывание. Я понимаю, что это нужно для маппинга. Но разве это не говорит о плохой архитектуре? Разве не лучше будет просто организовать хорошую архитектуру, пускай и будет чуть больше классов, но не будет позднего связывания. Это ведь сильно бьет по производительности. Или я чего-то не понимаю?

    • @nikolaifedorov685
      @nikolaifedorov685 ปีที่แล้ว +1

      И на сколько сильно это бьет по производительности?

  • @Mbyte-rx8lj
    @Mbyte-rx8lj ปีที่แล้ว

    Разъясните пожалуйста зачем мапить такие данные или это просто для примера и не обязательно?

  • @АндрейМихеев-к4ю
    @АндрейМихеев-к4ю 2 ปีที่แล้ว +1

    Идея супер, с профессиональным созданием веб апи. Но проблема в том, что как и для чего это делается, не понятно (никто не объясняет). В итоге, проще и понятнее, просто скопировать проект или по очереди, бездумно накодить, повторив за Вами. А потом сесть и разбираться, что тут для чего. Просьба, раз вы всеравно решили потратить свои силы и время, добавьте пожалуйста объяснения, что бы отдельно взятый урок описывал конкретную тему, а не был просто продолжением чего-то там, что было раньше, и не завершал тему, а оставлял это на будущие уроки

    • @maxil2761
      @maxil2761 2 ปีที่แล้ว

      В данной серии уроков этого как раз не нужно. Эта серия для профессиональной(!) разработки, как Вы правильно сказали. Новичкам следует посмотреть, а лучше почитать, что-то другое, где именно разивываются основы, чтоб бездумно не накодить.

  • @olehfilipchuk8257
    @olehfilipchuk8257 ปีที่แล้ว

    Смысл в маппере если он только на get маппит? а остальное все руками пишем... если у меня entity c кучей списков маппится в dictionary и обратно с проверкой добавления\удаления имеет ли смысл расписыват маппинги, тем более что при обновлении сущности маппинг не сработает -мы не можем маппить в готовый обьект...

  • @smrsgv
    @smrsgv 3 ปีที่แล้ว

  • @ОлексійКолесник-ф4ж
    @ОлексійКолесник-ф4ж 2 ปีที่แล้ว

    Как использовать реализацию Mapping по умолчанию из IMapWith? У меня она не вызывается даже.

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 ปีที่แล้ว

      чтобы ее использовать достаточно не переопределять эту реализацию в классах реализующих интерфейс

  • @dr1n
    @dr1n 2 ปีที่แล้ว +2

    Ну вот опять прибили гвоздями автомаппер к уровню бизнес логики. Ему место в инфраструктуре

    • @PlatinumTechTalks
      @PlatinumTechTalks  2 ปีที่แล้ว

      это с какой стороны посмотреть. мы работаем с DTO - это вполне часть бизнес логики

    • @nikolaifedorov685
      @nikolaifedorov685 ปีที่แล้ว

      @@PlatinumTechTalks Передача объекта - это бизнес логика? С каких пор?

  • @mrjekagm
    @mrjekagm 2 ปีที่แล้ว +1

    В code first можно атрибутами прописать все ограничения для свойств, включая ключи и индексы. Так намного нагляднее при работе с классом. Не надо лезть в TypeConfiguration.
    Что касается автомаппера, то для него есть конфигурация чтения всех Profile из сборки. В этом случае не потребуется наследование от IMapWith.

    • @Amir-xg4nn
      @Amir-xg4nn ปีที่แล้ว

      Fluent Api более гибкий, для определенных задач, + модельки сущностей остаются красивыми.

    • @nikolaifedorov685
      @nikolaifedorov685 ปีที่แล้ว

      @@Amir-xg4nn Каких задач? Модельки сущностей красивыми остаются - это как? Класс без атрибутов - ради этого предлагается переключаться между двумя классами? Зачем???! Не видел ни одной задачи, которая не решается с помощью атрибутов!

  • @ВладиславКресак-б3ъ
    @ВладиславКресак-б3ъ 2 ปีที่แล้ว +1

    Так много, всякого, маперы, интерфейсы, энтети, дто... Надеюсь когда нибудь пойму нахера это все нужно вообще)

  • @BrownAleks
    @BrownAleks ปีที่แล้ว

    Рефлексия с прицелом на собственные интерфейсы? Что то с вашим кодом не то... где то вы перестарались. 🤨

  • @lerokanz3482
    @lerokanz3482 2 ปีที่แล้ว +2

    Ничего не объяснил - как работает не показал - збс видео... Даже 4 минуты жалко. Лучше не делать - чем делать так. Давай запиши видео на 4 секунды - тиктокер... Это когда сам не умеешь - так учишь.

  • @richarddaniel7088
    @richarddaniel7088 3 ปีที่แล้ว +7

    Урок отстой реально))) тут даже урока как такового нет. Мы используем автомапер, за я набросал код, а вы повторите. Бред

    • @PlatinumTechTalks
      @PlatinumTechTalks  3 ปีที่แล้ว +5

      Расскажите, что вы ожидали увидеть и мы станем лучше

    • @richarddaniel7088
      @richarddaniel7088 3 ปีที่แล้ว +7

      @@PlatinumTechTalks очевидно что объяснения как работает автомапер с объяснением на конкретном примере, а не на словах, мол есть такая штука, он существует для связей сущностей, и для чего его в реальных проектах используют. У вас на канале много сложнейших тем в таком же стиле - и Очень мало и очень абстрактно при этом полный ноль обьяснея самих механизмов. Уроки по авторизациям и прочие продвинутые моменты это должны быть минимум 15 минут концентрированного материала с примерами работы технологии и ее различными вариантами(конечно же и это только для одной подтемы!), но не так как у вас- есть такая штука =>заготовленный код=> делайте так. Это говорит о том что либо вы не разбираетесь в том что делаете, либо уроки на Ютубе это вообще не ваше.

    • @denisadimov7709
      @denisadimov7709 3 ปีที่แล้ว +6

      ​@@richarddaniel7088 может, в таком случае стоит дополнительно ознакомиться с работой фреймворков и технологий которые здесь используют на других ресурсах? Мне тоже кое-какие моменты не понятны, но это скорее вопрос к моему понимании работы с рефлексией, пониманию принципов архитектуры приложений и тд. И если у меня все же остаются вопросы, то Google search в этом отлично помогает. Как по мне, как раз у этого TH-cam канала плюс в том, что здесь нет уроков на уровне "Как создать сайт за 5 минут". Показаны практики которые используют в реальных проектах

    • @maxil2761
      @maxil2761 2 ปีที่แล้ว +2

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

  • @metlic5209
    @metlic5209 3 ปีที่แล้ว

    Не раскрыт практический use-case использования автомаппера. Зачем в простом приложении, с простой моделью данных, это вообще нужно, когда проще смаппить вручную? Лучше было бы раскрыть через материал из поста "AutoMapper's Design Philosophy" Джими Богарда, автора либы.

  • @pojokerfier3824
    @pojokerfier3824 ปีที่แล้ว

    Переменная methodInfo будет иметь значение null в том случае, если мы не переопределим интерфейс по умолчанию, поэтому необходимо получить сам интерфейс и от него уже вызвать метод GetMethod("Mapping"). То есть, переписать строку кода вот таким образом:
    var methodInfo = type.GetMethod("Mapping") ?? type.GetInterface("IMapWith`1")?.GetMethod("Mapping");

  • @fedorbogdanov2335
    @fedorbogdanov2335 3 ปีที่แล้ว +1

    Спасибо!!!

  • @IvanenkoStepan
    @IvanenkoStepan 3 ปีที่แล้ว +1

    Спасибо!!!!!!