18:18 настройка связи Code Convention 20:30 настройка связи Data Annotation 25:38 настройка связи Fluent API 32:34 один ко многим 49:28 один к одному 1:02:10 многие ко многим 1:09:37 заполнение бд 1:22:00 select ы 1:23:20 LINQ Method запрос 1:38:48 LINQ Query Syntax запрос 1:52:06 миграции 2:18:10 Database first
1:05:20 у меня ошибка необработанное исключение на строке Database.EnsureDeleted(); System.InvalidOperationException: "Unable to determine the relationship represented by navigation property 'Curse.Users' of type 'ICollection'. Either manually configure the relationship, or ignore this property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'." Пытаюсь сделать связь многие ко многим как в видео показано, оно не хочет так делать Видимо мой Entity не хочет создавать таблицу сам, не знаю
Челы, которым не нравится "ээээ", " аааа" комментатора, либо вы не программисты, либо позеры, идите крч на свой гуманитарий и дальше прячьте свои комплексы по тупоголовости. По видосу: Контент такого рода редкий и обычно, платный, поэтому спасибо огромное за туториал, разобрался хоть более менее в EF.
Ну я "не программист" (по вашему определению) с 25-летним опытом (в американских, европейских, даже австралийских it компаниях). Года 2 не работал именно с EF заглянул чтобы быстро обновить знания по некоторым деталям. Но прошел мимо. Материала по EF как грязи, бесплатного, в том же ютубе. А слушать эти "аааа", "ээээ", шумное дыхание, слюнявое причмокивание - увольте. Если бы это были девушки, то еще ладно. Но я человек современный и не осуждаю, если все эти физиологические звуки кому-то приятно слушать и от парней (при наличии огромной альтернативы материалов по этой теме).
Огромное спасибо! Всем бы преподам такую подачу материала! Всё супер! На пальцах, настолько просто, что любой поймёт , как использовать и для чего Entity Framework!
Благодарю за такое подробное и информативное видео. Очень тяжело было для меня понять все это из других источников. Спасибо, что разжевали. Успехов вам!
Хороший тон, рассказывая теорию сразу показывать ее на практике. Однако я, пришедший по названию Вашего видео и уже настроившись смотреть его целиком и полностью, ожидал прям если не все, то многое. Однако не увидел моментов про: 1. подходы при использовании наследования. 2. На том же собеседовании легко попросить назвать подходы по загрузке данных - Eager/Explicit/Lazy loading. Да, вы рассказали и показали их на примере. Но ни разу не сказали, что это так называется, чтобы человек не потерялся, услышал сей термин. Плюс здесь тоже есть корреляция с отслеживанием данных, а про это вообще ни слова. 3. Поскольку звучали объяснения про IQueryable, хоть вскольз можно было кому-то напомнить, а кому-то и узнать про разницу в возвращении коллекции IE & IQ. 4. Хоть немного на практике рассказать про фильтры уровня модели. 5. Конечно работа EF Core и SQL запросов, в т.ч. вызов sp. Почему иногда нужно так делать, ну и т.д. 6. Просто ознакомть с скомпилировнными запросами. В то же время я прекрасно понимаю, что даже поверхностно рассказать про моменты, упомянутые выше, займет ещё конкретный кусок времени, однако ваши тайминги и так вышли за 2 часа, поэтому, как я считаю, исходя из вашего названия, можно хоть 7 часов выложить, это будут все равно смотреть те, кому это интересно. Зато в таком ролике будет собрано превалирующее количество материала по данной теме. Ну вот это то, что сразу пришло в голову после просмотра всего видео. Опять же, вообще спасибо за то, что выложили сей материал, мой комментарий не воспринимайте как критику ни в коем случае, это мое субъективное мнение, спасибо.
На 37-й минуте... Если в классе person сделать 2 свойства public int DepartmentId и public Department Department то в классе Department id не нужно переименовать, оно и так работает. Более того, если в классе person первое свойство назвать не DepartmentId, а OtdelId и второе свойство назвать Otdel при этом типы свойств оставить int и department, то оно тоже это поймет
Всё максимально ясно и простым языком преподнесено. Информацию из данного видео довольно легко будет усвоить начинающим разработчикам. Благодарю за урок.
Спасибо. Отличный урок, я узнал много полезной информации которая облегчит мою роботу с Entity Framework. Эта штука мне понравилась, хотя по началу кажется довольно непонятной и запутаной
Привет. Зацепило то что ваше видео намного больще по времени чем мы проходили на занятиях. Еще смотрел ваше видео для того чтобы увидеть тему под вашим углом зрения, так как не всегда представление учебной части понятно всем учеикам.
Хоршая лекция, тут были рассмотренны многие подходы для работы с EF, для новичков самое то, но для старичков можно было и по глубже рассмотреть.Спасибо!
Парни,у кого будут проблемы вроде "No context was found", используйте такие команды: EntityFrameworkCore\Add-Migration Name EntityFrameworkCore\Update-Database
Добрый день уточнение когда загружается мастер и подчиненная таблицы, например 10 мастер и в каждой детайл 100 то получается что 1000 загружается даже если пейдж инг ?
Спасибо большое за содержательную полную подачу контента по EF Core! Код в этом видео, исключительно для демонстрации возможностей EF, но не применению на проекте. Например, нельзя использовать обновления данных при выборке данных, так как нарушается пратика CQRS.
На 51:30 когда рассказывали про связь один к одному забыли добавить навигационное свойство Address в классе Person. И в базе из-за этого не создалось ограничение
Привет, у меня вопрос. Я не совсем понимаю почему, но EF не добавляет данные в базу, точнее так - данные есть, но они не отображаются в MSSQL менеджере. При добавлении и удалении данных всё работает как надо. Но таблицы в менеджере пустые. mdf файла в папке bin\Debag у меня нет
Да, примари ключи должны совпадать. И в одной таблице примари ключ - должен быть одновременно примари ключом + форейн Кеем на другую таблицу. modelBuilder.Entity() .HasOne(e => e.Header) .WithOne(e => e.Blog) .HasForeignKey(e => e.BlogId) .IsRequired();
Насчет fluent API и атрибутов категорически не согласен. Я тоже начинал с fluent, но после создания десятков Entity и даже отдельных классов под них ты в любом случае будешь путаться. В то же время можно настроить на обязательную установку атрибутов для Entity и на этапе обновления модели EF ты уже будешь знать где забыл атрибут
ruclips.net/video/eHayUiqBXK4/видео.html явная ошибка в интерпретации по наименованию полей, с чего это вдруг нельзя называть одноименно в разных сущностях. Можно называть ID и в классе персоны и в департаменте!!!
Какая-то у вас устаревшая информация из EF тел 5 назад. Никакой не нужно DepartmaentId делать в Departament. Достаточно просто Id как и во всех других сущностях.
Если джуниору нужно знать ответы на вопросы по типу "Как создать связь много-ко-многим с дополнительными данными?", то я уже могу пробовать устраиваться на работу
Без обид, но никакой системы. Лучше бы несколько мини-проектов с примерами. Больше понимания было бы. С формами никто походу работать не умеет и с PostgreSQL... Галопом пробежали без проектов. Нет чтобы загрузить готовую БД и обработать. Кто в C# будет пданные вписывать? Используют готовые таблицы обычно и обрабатывают. Только почему то именно это видимо не интересно 😅 Удобно, если кто уже понимает и нужно или освежить память или момент какой то непонятный посмотреть...хотя тогда в коде проще... Не знаю, ожидала больше толку.😢
Error Could not install package 'Microsoft.EntityFrameworkCore 6.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
18:18 настройка связи Code Convention
20:30 настройка связи Data Annotation
25:38 настройка связи Fluent API
32:34 один ко многим
49:28 один к одному
1:02:10 многие ко многим
1:09:37 заполнение бд
1:22:00 select ы
1:23:20 LINQ Method запрос
1:38:48 LINQ Query Syntax запрос
1:52:06 миграции
2:18:10 Database first
1:05:20 у меня ошибка необработанное исключение на строке Database.EnsureDeleted();
System.InvalidOperationException: "Unable to determine the relationship represented by navigation property 'Curse.Users' of type 'ICollection'. Either manually configure the relationship, or ignore this property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'."
Пытаюсь сделать связь многие ко многим как в видео показано, оно не хочет так делать
Видимо мой Entity не хочет создавать таблицу сам, не знаю
Челы, которым не нравится "ээээ", " аааа" комментатора, либо вы не программисты, либо позеры, идите крч на свой гуманитарий и дальше прячьте свои комплексы по тупоголовости.
По видосу: Контент такого рода редкий и обычно, платный, поэтому спасибо огромное за туториал, разобрался хоть более менее в EF.
Ну я "не программист" (по вашему определению) с 25-летним опытом (в американских, европейских, даже австралийских it компаниях). Года 2 не работал именно с EF заглянул чтобы быстро обновить знания по некоторым деталям.
Но прошел мимо. Материала по EF как грязи, бесплатного, в том же ютубе. А слушать эти "аааа", "ээээ", шумное дыхание, слюнявое причмокивание - увольте. Если бы это были девушки, то еще ладно. Но я человек современный и не осуждаю, если все эти физиологические звуки кому-то приятно слушать и от парней (при наличии огромной альтернативы материалов по этой теме).
Ребята, вы лучшие ! Дай бог вам здоровья !
Спасибо вам большое!
стоящее видео. спасибо автору. успехов ему в преподавательской деятельности.
САМОЕ ЛУЧШЕЕ ВИДЕО ПО ТЕМЕ КОТОРОЕ ПОКА ВСТРЕЧАЛ
Огонь для новичков! И для таких как я, кому редко нужно взаимодействовать с EF Core и нужно быстро самую базу вспомнить
Спасибо большое Олег
Огромное спасибо! Всем бы преподам такую подачу материала! Всё супер! На пальцах, настолько просто, что любой поймёт , как использовать и для чего Entity Framework!
Благодарю за такое подробное и информативное видео.
Очень тяжело было для меня понять все это из других источников.
Спасибо, что разжевали.
Успехов вам!
Хороший тон, рассказывая теорию сразу показывать ее на практике. Однако я, пришедший по названию Вашего видео и уже настроившись смотреть его целиком и полностью, ожидал прям если не все, то многое. Однако не увидел моментов про:
1. подходы при использовании наследования.
2. На том же собеседовании легко попросить назвать подходы по загрузке данных - Eager/Explicit/Lazy loading. Да, вы рассказали и показали их на примере. Но ни разу не сказали, что это так называется, чтобы человек не потерялся, услышал сей термин. Плюс здесь тоже есть корреляция с отслеживанием данных, а про это вообще ни слова.
3. Поскольку звучали объяснения про IQueryable, хоть вскольз можно было кому-то напомнить, а кому-то и узнать про разницу в возвращении коллекции IE & IQ.
4. Хоть немного на практике рассказать про фильтры уровня модели.
5. Конечно работа EF Core и SQL запросов, в т.ч. вызов sp. Почему иногда нужно так делать, ну и т.д.
6. Просто ознакомть с скомпилировнными запросами.
В то же время я прекрасно понимаю, что даже поверхностно рассказать про моменты, упомянутые выше, займет ещё конкретный кусок времени, однако ваши тайминги и так вышли за 2 часа, поэтому, как я считаю, исходя из вашего названия, можно хоть 7 часов выложить, это будут все равно смотреть те, кому это интересно. Зато в таком ролике будет собрано превалирующее количество материала по данной теме.
Ну вот это то, что сразу пришло в голову после просмотра всего видео.
Опять же, вообще спасибо за то, что выложили сей материал, мой комментарий не воспринимайте как критику ни в коем случае, это мое субъективное мнение, спасибо.
спасибо большое за такой развернутый отзыв! нам это очень важно!
С каких пор критика попадает под вето ?
Лучший комментарий, благодарю)
На 37-й минуте... Если в классе person сделать 2 свойства public int DepartmentId и public Department Department то в классе Department id не нужно переименовать, оно и так работает. Более того, если в классе person первое свойство назвать не DepartmentId, а OtdelId и второе свойство назвать Otdel при этом типы свойств оставить int и department, то оно тоже это поймет
Всё максимально ясно и простым языком преподнесено. Информацию из данного видео довольно легко будет усвоить начинающим разработчикам. Благодарю за урок.
Спасибо. Отличный урок, я узнал много полезной информации которая облегчит мою роботу с Entity Framework. Эта штука мне понравилась, хотя по началу кажется довольно непонятной и запутаной
Наткнулся на Вас, воу, нашел алмаз на дне ютуба
1:09:25 конец инфы про отношения и подходы. Начало темы запросов.
1:52:08 миграции
Отдельное место в Раю для Вас есть.
Ребята, спасибо за труды. Все просто и понятно!
Привет. Зацепило то что ваше видео намного больще по времени чем мы проходили на занятиях. Еще смотрел ваше видео для того чтобы увидеть тему под вашим углом зрения, так как не всегда представление учебной части понятно всем учеикам.
Спасибо! Очень полезный доклад!
Отличная лекция с примерами! Спасибо большое!
Хоршая лекция, тут были рассмотренны многие подходы для работы с EF, для новичков самое то, но для старичков можно было и по глубже рассмотреть.Спасибо!
Спасибо за видео. Полезно.
огромнейшая благодарность
Спасибо за качественную работу! Тема разобрана великолепно!
Спасибо) Инфа лучше разжевана чем у топовых преподов с pluralsight
спасибо большое!
Спасибо за труд
Спасибо . Автору респект и уважуха
Спасибо. Отлично преподнесена тема!
Спасибо вам!
Класс. Спасибо.
Вам спасибо!
Огромное спасибо за труд! Отличный гайд!
Парни,у кого будут проблемы вроде "No context was found", используйте такие команды:
EntityFrameworkCore\Add-Migration Name
EntityFrameworkCore\Update-Database
Потрясающее видео
Чтобы удобнее запросы читать - ставь минимальный уровень логгирования:
.LogTo(Console.WriteLine, LogLevel.Information);
Золото на дне ютуба
Есть в Москве Ленинградский проспект! Я рядом с ним живу ☺️
Спасибо большое за видео! Супер классное!
Большое спасибо за доклад.
Просто блестяще!! Огромное спасибо!
спасибо
Спасибо!
Спасибо большое за видео!!
Очень помогла разобраться с темой!
Спасибо. Было интересно 🤔
Спасибо, это было эпично.
Топ!
Красапед!
Thank you Bro!
Добрый день уточнение когда загружается мастер и подчиненная таблицы, например 10 мастер и в каждой детайл 100 то получается что 1000 загружается даже если пейдж инг ?
На словах мэпится на объект классов все сразу понятно .
Вы пытаетесь объяснить или сделать так что бы вообще никто ничего не понял ?
Первое)
А куда делся Вася-то?
Спасибо большое за содержательную полную подачу контента по EF Core!
Код в этом видео, исключительно для демонстрации возможностей EF, но не применению на проекте. Например, нельзя использовать обновления данных при выборке данных, так как нарушается пратика CQRS.
От куда вы берётесь?
С П А С И Б О !
На 51:30 когда рассказывали про связь один к одному забыли добавить навигационное свойство Address в классе Person. И в базе из-за этого не создалось ограничение
Добрый день! Что нужно настроить, чтобы в браузере можно также как на видео работать с БД PostgreSql? Спасибо
Добрый день! Ответ от докладчика:
1. поставить docker (Docker Desktop для Windows)
2. запусть бд:
docker run \
-p 5432:5432 \
--name container-postgresdb \
-e POSTGRES_PASSWORD=admin \
-d postgres
3. запустить pgadmin: docker run \
-p 5050:80 \
-e "PGADMIN_DEFAULT_EMAIL=name@example.com" \
-e "PGADMIN_DEFAULT_PASSWORD=admin" \
-d dpage/pgadmin4
4. открыть localhost:80
И ввести такие параметры:
name: container-postgresdb
host: host.docker.internal
database: postgres
user: postgres
password: admin
Круто!
Можно поитересоваться почему в видео используется EF Core 5, а не EF Core 6?
Возможно потому что 6 версия ef используется только в. NET 6, который на момент выпуска видео только релизнулся
ПОсле метанита, вживую еще раз закрепить знания самое то
Привет, у меня вопрос. Я не совсем понимаю почему, но EF не добавляет данные в базу, точнее так - данные есть, но они не отображаются в MSSQL менеджере. При добавлении и удалении данных всё работает как надо. Но таблицы в менеджере пустые. mdf файла в папке bin\Debag у меня нет
Ты смог решить данную проблему ?
почему не получается EF core установить. пишет версия не та
41:20 почему использовать литералы не очень хорошо? В голову только приходит если глобально поменяется имя класса может возникнуть ошибка.
А почему у меня string не допускает null ????
1:44:42 Это работает только когда делаешь Include
а можно сылку на сам доклад?
В гитхабе презентация
@@OlegTar официальная от майкрософт?
@@ebaysher572 официальная от Platinum Dev. в описании ссылка
@@OlegTar благодарю
54:00 вопрос: а как так связи строятся один к одному? Примари ключи совпадают что ли? И Нахера гемморой такой?
Да, примари ключи должны совпадать.
И в одной таблице примари ключ - должен быть одновременно примари ключом + форейн Кеем на другую таблицу.
modelBuilder.Entity()
.HasOne(e => e.Header)
.WithOne(e => e.Blog)
.HasForeignKey(e => e.BlogId)
.IsRequired();
@PlatinumTechTalks бедный sql как же ему две таблички разруливать на identity? Может проще одну табличку иметь в таком случае?
можно смотреть на скорости 2 ))
спасибо за топик, но слушать иногда крайне сложно из-за оратора( такое чувство, что у него вот-вот батарейка сядет. прям местами умирающий лебедь
Спасибо. Единственное что было тяжело слушать «эээ» и «ааа»
Насчет fluent API и атрибутов категорически не согласен. Я тоже начинал с fluent, но после создания десятков Entity и даже отдельных классов под них ты в любом случае будешь путаться.
В то же время можно настроить на обязательную установку атрибутов для Entity и на этапе обновления модели EF ты уже будешь знать где забыл атрибут
И все же, если не секрет - сколько зп у Сеньера?
Везде по разному)
Хорошая презентация, вот только иногда сложно слушать лектора: "Тут ээээээ... ", " Указываем ааааааа.. ", "Настраиваем эээээээ.. "
Microsoft.EntityFramework обычный устанавливает только
не тот тип проекта скорее всего
ruclips.net/video/eHayUiqBXK4/видео.html явная ошибка в интерпретации по наименованию полей, с чего это вдруг нельзя называть одноименно в разных сущностях. Можно называть ID и в классе персоны и в департаменте!!!
Какая-то у вас устаревшая информация из EF тел 5 назад. Никакой не нужно DepartmaentId делать в Departament. Достаточно просто Id как и во всех других сущностях.
якщо прибрати усі еее, аааа, ооо, вот і давайте - відос був би значно менший
можна просто прискорити відео =)
Если джуниору нужно знать ответы на вопросы по типу "Как создать связь много-ко-многим с дополнительными данными?", то я уже могу пробовать устраиваться на работу
Без обид, но никакой системы. Лучше бы несколько мини-проектов с примерами. Больше понимания было бы. С формами никто походу работать не умеет и с PostgreSQL...
Галопом пробежали без проектов. Нет чтобы загрузить готовую БД и обработать.
Кто в C# будет пданные вписывать? Используют готовые таблицы обычно и обрабатывают. Только почему то именно это видимо не интересно 😅
Удобно, если кто уже понимает и нужно или освежить память или момент какой то непонятный посмотреть...хотя тогда в коде проще... Не знаю, ожидала больше толку.😢
спасибо за фидбек)
2ч + серьёзно?
помогите
получилось?
Очень жестокое видео, автор сильно избивает кнопку Enter
🤣💪
Это пытка его слушать....он что подготовиться не мог, запинается,неуверенно говорит.
вся эта энтети - херня полнейшая.
😅
А как лучше?)
Ааа... Эээ... Ы... Ээээ.... Ааа... Эээ...
Вот поменьше бы этих эканий, слушать было бы раза в 3 легче.
Error Could not install package 'Microsoft.EntityFrameworkCore 6.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
таргет проекта Framework потому что
Ты если ставишь ef core на .net 7 выбирай версию не ласт, а начинающеюся на 7. Если на .net 6, то версию на 6