Уроки C#. Entity Framework Code First. Часть 1

  Рет қаралды 58,001

Программирование - это просто

Программирование - это просто

8 жыл бұрын

Взаимодействие с базами данных через Entity Framework Code First
Поддержи развитие канала! money.yandex.ru/to/4100139057...
Qiwi Wallet +79534684569
Группа ВКонтакте: easycomp

Пікірлер: 91
@user-zq5dz5yx9s
@user-zq5dz5yx9s 6 жыл бұрын
Чувак, вернись, таких уроков по С# больше нет на русскоязычном ютубе
@trismegistus9602
@trismegistus9602 5 жыл бұрын
уже 2019, а я все еще жду новых уроков( Возвращайся, ты нам нужен
@p4cific_official
@p4cific_official 3 жыл бұрын
шёл 2021 год... Хатико еще здесь...
@k..
@k.. 2 жыл бұрын
:/
@blackbarry7730
@blackbarry7730 Жыл бұрын
@@k.. 2023:)
@user-yt4oi3oz1e
@user-yt4oi3oz1e 7 жыл бұрын
Жалко, что на самом интересном месте остановился выпуск уроков. Бесценный материал.
@felixromanchenko3330
@felixromanchenko3330 8 жыл бұрын
Крайне благодарен за Ваши уроки, продолжайте в том же духе) Ничего лишнего, приятная речь, доступное объяснение)
@dmitrij34
@dmitrij34 7 жыл бұрын
Мы вас заждались(. Возвращайтесь пожалуйста(
@alexanderpotashev1927
@alexanderpotashev1927 8 жыл бұрын
С миграциями связан очень слабо и не понимал их принцип действия. После этого урока все уложилось в голове аккуратно и красиво. Очень большая просьба не останавливать развитие канала и создание уроков по C#!
@rvrby2541
@rvrby2541 7 жыл бұрын
Спасибо за то, что выпустили, надеемся увидеть еще уроки.
@den3v
@den3v 6 жыл бұрын
Игорь делает неимоверную работу. Ни одного дизлайка!!! Такого соотношения почти ни у кого нет!
@user-zr3fj8qz3c
@user-zr3fj8qz3c 6 жыл бұрын
Мы всё ещё ждём продолжение)
@biosvova
@biosvova 5 жыл бұрын
Здравствуйте, не бросайте дело, продолжайте, жду вторую часть!!!
@bohgdanlion4521
@bohgdanlion4521 8 жыл бұрын
Спасибо, отличный подход. С нетерпением жду следующей части.
@leore1016
@leore1016 3 жыл бұрын
Спасибо! Пишите больше уроков, логично и лаконично все показываете, все уроки просмотренные доступны для понимания!
@levlevin8858
@levlevin8858 5 жыл бұрын
Всем привет! Отличные уроки, ждем продолжения.
@NeverGTI
@NeverGTI 7 жыл бұрын
Отлично преподнесли материал для новичков. Спасибо.
@MrDudeNudem
@MrDudeNudem 4 жыл бұрын
Организуй сбор средств на уроки! Уверен, многие поддержат. Уроки реально классные!
@mikhailkh8560
@mikhailkh8560 8 жыл бұрын
Перевел деньги на развитие канала. Спасибо большое за уроки! С уважением, Михаил.
@user-ct8zg9vt9r
@user-ct8zg9vt9r 7 жыл бұрын
Спасибо за видеоурок! все очень качественно и подробно объясняется.
@kirillbezmaternykh2012
@kirillbezmaternykh2012 6 жыл бұрын
Спасибо за уроки, очень просим продолжение)
@yar4ick
@yar4ick 8 жыл бұрын
Урок отличный! Ответил на многие мои вопросы!
@romanromanov4465
@romanromanov4465 8 жыл бұрын
Спасибо! Очень доходчиво и по сути.
@alexanderchelyadinov604
@alexanderchelyadinov604 7 жыл бұрын
Спасибо большое вам, вы первый на кого я счел должным подписаться!)
@r5_d5
@r5_d5 6 жыл бұрын
Ждем продолжения!!
@Inquisitor_ss
@Inquisitor_ss 8 жыл бұрын
Большое спасибо что вновь затронули тему Entity Framework. Это очень интересная и полезная тема. И при просмотре данного урока у меня возник вопрос. А как именно (какой командой) можно откатить состояние базы данных на нужное?
@dzmitrykuhukou4480
@dzmitrykuhukou4480 2 жыл бұрын
И все еще ждем)
@olehyastrebov7803
@olehyastrebov7803 5 жыл бұрын
Обалдеть) И правда лучший и понятнейший видео-урок. Эх, жаль, что единственный..
@user-zo5tt6pd5y
@user-zo5tt6pd5y 8 жыл бұрын
Большое спасибо за уроки и правильный русский язык. Продолжайте в том же духе. Ни где не встречал курса по разработке реального приложения- одни учебные. Может у вас получиться создать такой курс, талант преподавателя у вас есть. Одно замечание - темп речи очень быстрый, желательно на сложных местах помедленнее.
@user-oo7sz8vn2g
@user-oo7sz8vn2g 5 жыл бұрын
Спасибо ! Отличный урок !!!
@hardkovalchuk
@hardkovalchuk 8 жыл бұрын
Очень актуально. Спасибо большое
@1cBoris
@1cBoris 5 жыл бұрын
Это был шикарный урок, вот бы продолжение его вышло
@Gera.Kakogo-Hera
@Gera.Kakogo-Hera 2 жыл бұрын
Ох#енно. Быстро, качественно,, недорого
@denyszorin8675
@denyszorin8675 8 жыл бұрын
люблю такой подход )
@user-uv5qy3lq3i
@user-uv5qy3lq3i 6 жыл бұрын
Продолжайте!!!
@sergepikovsky3385
@sergepikovsky3385 8 жыл бұрын
CodeFirst Approach. 1. Создаем консольное приложение. 2. Создаем в нем папку "DataModel". 3. Добавляем модель ПКМ на папке DataModel -> Add -> New Item... -> (уже в визарде) Data -> ADO .NET Entity Data Model (на этом шаге обзываем модель понятно - LibraryContext [т.к. это и имя класса наследника DbContext]) -> -> Entity Code First Model -> Finish. 4. Комментарии в классе LibraryContext удаляем. 5. Базовый конструктор DbContext требует строку подключения либо ключ из App.config, отвечающий за неё. По умолчанию сервер для БД есть: data source=(LocalDb)\v11.0; По умолчанию название БД есть: initial catalog=Library.DataModel.LibraryContext; В уроке сервер переключается (я этого делать не стал) : data source=.\MSSQLEXPRESS; //это полноценный экземпляр в противовес локальному. A название БД (я это тоже сделал) : initial catalog=LibraryDb; 6. Открываем MS SQL Server Management Studio и пока нашей базы там не видно, что естественно. 7. Создаем сущность: DataModel -> Add -> Class... (называем "Book"). Добавляем ему свойств ключа, названия и автора. 8. Извещаем контекст о новой сущности, а именно: создаем в нем свойство "public DbSet Books { get; set; }" 9. Все готово, чтобы записать в БД сведение о какой то книге, что и делаем в методе Main: а) оборачиваем в using создание контекста. б) создаем и инициализируем инстанс класса Book. в) добавляем ссылку на вновь созданный инстанс к свойству контекста Books. г) сохраняем на контексте изменения. 10. Для создания БД достаточно просто запустить приложение на выполнение. Делаем это. Кроме Book в LibraryDb (которую мы сразу обнаружили в MS SQL Server Management Studio) есть еще и таблица __MigrationHistory (о ней позднее). Запись о книге в таблицу Book внесена. Запись же в таблице __MigrationHistory выглядит так (сокращенно): MigrationId ContextKey Model ProductVersion 201603281548448_InitialCreate Library.DataModel.LibraryContext 0x1F8B08000000000 6.1.1-30610 11. Добавляем в таблицу Book свойство ISBN. 12. Меняем код метода Main, что бы при следующем запуске и создании еще одной записи о книге заполнялось и поле ISBN. 13. Запускаем приложение и получаем ошибку, в описании к которой говорится, что в модели были изменения после того как БД была создана. И что-то про миграции... Миграции - очень мощный инструмент EF при Code First, они позволяют вести историю изменений БД в коде. По сути любые изменения в БД при Code First проходят через миграции. Чтобы запустить механизм миграций нам необходимо перейти в "Console Package Manager". Выбираем выпадающем списке "DefaultProject:" наш проект Library. После этого ввести команду Enable-Migrations и нажать Enter. Если все нормально то увидим строки, последняя из которых будет: "Code First Migrations enabled for project Library.", и появляется папка Migrations в которой будет 2 файла: - Configuration.cs (в нем идет настройка доступа к нашей БД, а также метод Seed, о котором позже) - 201603281548448_InitialCreate.cs (Название файла класса меняется от даты, цифры и прочее в названии класса совпадают с цифрами в столбике MigrationId таблицы __MigrationHistory). Это и есть наша миграция. Миграция описывает те действия, которые мы осуществляем в нашей БД. Наша первая миграция является инициирующей. Она создана на основе той записи в БД, которую мы видели. И так, у нас появился класс начальной миграции, соответствующий по названию первой записи в таблице __MigrationHistory поля MigrationId. Он содержит в себе описание БД на момент ее создания (одна таблица Books с тремя полями). Однако с момента создания БД мы в модели добавили еще одно поле ISBN. И этот факт необходимо в миграции отразить. Иначе будет несоответствии модели и БД. 14. Добавление миграции производим в Console Package Manager командой "Add-Migration ISBN" (где "ISBN" - информационная составляющая [по названию добавленного поля] для собственного удобства и может быть заменена на более удобную. После нажатия Enter произойдет сканирование нашей модели данных, выявляются отличия с последней миграцией и эта разница записывается в новую миграцию. У нас появляется новый класс имя которого мы указали при добавлении миграции и в нем мы можем видеть свои действия по добавлению столбца в таблицу. 15. Теперь у нас есть: - измененная модель данных (в папке DataModel); - соответствующая изменениям миграция (201603281805124_ISBN.cs). Осталось применить эту миграцию к БД. Команда Update-Database в Console Package Manager обновит БД. Убеждаемся, для понимания, что в БД, а именно в таблице __MigrationHistory, новых записей пока не появилось, и, выполняем Update-Database. В таблице __MigrationHistory появляется вторая запись, а в таблице Book - новый, заданный нами в модели столбец ISBN. 16. Таким образом, механизм миграций является очень хорошим инструментом для того, чтобы откатить состояние БД на любую точку, в которой зафиксированы миграции, либо наоборот, обновить БД до любой точки. Если встает вопрос обновление клиенской БД у многих клиентов, то с помощью механизма миграций этот вопрос решается крайне просто. 17. Теперь рассмотрим вопрос о мутации данных. Глядя на таблицу Book, видим, что поля не оптимально спроектированы. Поля Title и Author - слишком большой длинны и Title не может, на самом деле быть равен null. Для того, чтобы это исправить мы должны воспользоваться механизмом мутации данных. 18. Переходим в класс Book и указываем атрибутами [MaxLength(1000)] желаемую длину в знаках (в примере 1000 знаков). Для этого подключаем пространство имен System.ComponentModel.DataAnnotations. Атрибутом [Required] декорируем обязательные поля. 19. Внесенные изменения оформляем через добавление еще одной миграции "Add-Migration DataAnnotations". Создается миграция 201603282313277_DataAnnotations.cs по которой легко понять что же меняется в БД. Применяем Update-Database в Console Package Manager для обновления БД. 20. Запускаем код на выполнение и убеждаемся в том, что новая книга добавилась: BookId Title Author ISBN 1 Война и мир Лев Толстой NULL 2 Анна Каренина Лев Толстой 5-05-000746-1 21. Вопрос: Почему столбец BookId стал ключевым? - а потому, что работают соглашения по умолчанию, в соответствии с которыми, столбцы, названные прибавлением к названию таблицы суффикса Id - то EF по умолчанию делает его ключевым. Либо столбец называется "Id" - он тоже станет ключевым. Если мы хотим явно (а не по умолчанию) сделать столбец ключевым, мы можем использовать аннотацию [Key].
@anaredbeard6052
@anaredbeard6052 5 жыл бұрын
"Скоро выйдет вторая часть..." ))). Обещанного три года ждут. Может, в марте 2019 таки повезет? Вы молодец. Вернитесь к нам, пожалуйста ).
@likeme8791
@likeme8791 4 жыл бұрын
Так уже январь 2020
@Zliun
@Zliun 4 жыл бұрын
Всё ещё без уроков. Кто находил актуальные контакты Игоря?) Возможно сервис patreon поможет.Я могу отдавать рублей 500 в месяц на эти уроки, они шикарны. Со мной ещё человек 40 будет, я уверен.
@magazakaryan4733
@magazakaryan4733 3 жыл бұрын
2020год - я всё еще жду 2ой части ...
@user-vr8lk7fx4l
@user-vr8lk7fx4l 7 жыл бұрын
хороший урок. спасибо
@ivanokulichev7834
@ivanokulichev7834 8 жыл бұрын
Большое спасибо за уроки. Оносительно Code First, хотелось бы поподробнее про "n to n relationship", по возможности...
@laiser545
@laiser545 8 жыл бұрын
Большое спасибо
@alexanderspiegel6747
@alexanderspiegel6747 4 жыл бұрын
Очень приятный стиль преподавания. Хочу поддержать донатом. Только хотелось бы понимать какие есть планы на будущее развитие канала. Большая просьба к автору прояснить ситуацию. С уважением!
@dmitriygolovachyov5493
@dmitriygolovachyov5493 8 жыл бұрын
Отличный урок, хотел узнать а fluent API будет в следующих уроках?
@TheCrow_9401
@TheCrow_9401 8 жыл бұрын
обидно что опять перестали выпускать ( на самом интересном=(
@seriga3
@seriga3 8 жыл бұрын
Автора можно понять. Кто-то заливает видео с контентом типа “котики” и получает просмотров сотнями тыс. Тут годы опыта, многие часы подготовки и в виде экстракта преподносится нам. К сожалению новоявленных программистов, или программистов самоучек для кого этот контент является золотым гораздо меньше.
@TheCrow_9401
@TheCrow_9401 8 жыл бұрын
+seriga3 да это понятно( но хотя бы просто написать что не успеваю(
@user-ct8zg9vt9r
@user-ct8zg9vt9r 7 жыл бұрын
Ну... не согласен вообще. По такой логике не нужно выращивать на огороде еду или покупать молоко у бабушек, потому что все едят напичканные химией продукты, не нужно производить хлеб, потому что много людей едят фастфуды. Может кому то покажется странным такое сравнение, но информация это как еда для мозга и от её качества и количества зависит многое в жизни человека как и с физическим здоровьем. И тех кто выбирает фастфуды и химию в десятки раз больше чем тех кто кушает домашнее, то же и с котиками. А в итоге что ? Итог уже явно виден, достаточно посмотреть на кол-во болезней возросших в сотни раз, да таких, что ещё никогда в истории о таком не слышали и не знают как лечить и чем. К тому это все, что нужны люди, которые будут выдавать вот такие вот экстракты и пусть на канале будет 6000 в противовес 100000 котолюбителей, но это не 1 человек как можно было раньше с репетитором заниматься и не 30 как в школе и не 100 как с преподавателем в институтской аудитории, это 6000+ а автор сделал это видео только 1 раз и все, смотрят те кому это действительно нужно и получают от этого реальную пользу. Да и сам автор получает немало пользы от преподавания, ведь таким образом происходит систематизация его собственных знаний, так что даже если бы тут было 0 просмотров, автор бы уже ничего не потерял. Я думаю тут дело в другом, может быть просто надоедает одно и тоже и иногда человеку нужна смена деятельности, может быть автору нужно немного больше времени на то чтобы преподнести все качественно так как нужно, может быть вообще семья в конце концов и нету на это времени. Просто будем ждать и надеяться, что выйдут ещё уроки, потому что качественного не так много , а это реально качественно, за что и спасибо.
@hardkovalchuk
@hardkovalchuk 8 жыл бұрын
Еще хотелось бы услышать о защите целостности БД в entity framework. Маловато информации об этом. Что будет если удалить объект на который ссылается внешний ключ, например как сделать on delete set null?
@user-ki4qb6xe2j
@user-ki4qb6xe2j 7 жыл бұрын
Игорь, не давно нашел ссылку на ваши уроки здесь www.cyberforum.ru/csharp-beginners/thread1673551.html После этого просто их все просматривал, не отрываясь. Реально лучшее изложение материала, которое я встречал. Не знаю, почему вы не закончили урок по Code First программированию (видимо были свои причины). Но счел своим долгом просто поблагодарить за выложенный материал. Если будете продолжать, я обязательно поддержу развитие канала. Qiwi Wallet +79534684569 этот кошелек все еще ваш?)
@vanish14
@vanish14 4 жыл бұрын
Ля, чувак. Я думал что нашёл уже идеальное объяснения, но продолжение нет. Не надо так...
@sardd5796
@sardd5796 3 жыл бұрын
Я поставил колокольчик. Жду, пока прозвенит
@user-im7jx6wo3t
@user-im7jx6wo3t 7 жыл бұрын
Доступно
@m0n03
@m0n03 8 жыл бұрын
Поскорее бы уже следующий урок по WPF
@13danyocean13
@13danyocean13 8 жыл бұрын
интересно, чем руководствуются в майкрософт, убирая database first?
@AntonZdornov
@AntonZdornov 7 жыл бұрын
Чувак крутт пройдитесь по лайкам ставьте поддерживайте
@zolotayaorda1226
@zolotayaorda1226 4 жыл бұрын
Неплохой видеоурок, но не хватает пояснений, смотрела в скорости 0,25
@p.shpyro
@p.shpyro 4 жыл бұрын
Что ж, думаю автор примет к сведению и исправит ошибку четырёхлетней давности)
@user-nv4yz5bt4g
@user-nv4yz5bt4g 2 жыл бұрын
Чтобы сохранить массив или коллекцию мне нужно обязательно создавать базу данных или есть какой-то прием сохранения коллекции в файле ? Я пытался сохранить коллекцию в файле , но у меня сохраняется только один член коллекции .
@romazherdev
@romazherdev 8 жыл бұрын
Если я хочу использовать локальный экземпляр БД, то как сделать, чтобы он создавался в папке с проектом? Если connectionString не трогать, то по дефолту создается на диске C:\ в пользователях.
@user-rq6rf2xv4m
@user-rq6rf2xv4m 8 жыл бұрын
Доброе утро:) Хотел сказать Вам СПАСИБО за Ваш канал. У меня есть вопрос почему когда я выбираю ADO.net Entity Data Model у меня нету Empty Code First Model и нету Code First DataBase. EntityFramework 6.1.3 установлен и NuGet.Tools тоже как сделать что бы эти модели появились? Заранее Спасибо:)
@nikitapochechuev5247
@nikitapochechuev5247 7 жыл бұрын
По поводу "миграций", предположим у меня была сущность "Человек/Person", доставшаяся "по наследству", с атрибутами Id, FirstName, LastName, BirthDate, GenderId, City, SSN, PassortNumber И тут выяснятся что оказывается это типа пациентов в больницах/поликлиника/... или ещё кто-то, а люди как водится меняют и фамилию и имя и "Паспортный пол" (от чего диагнозы и врачи зависят и не всем "женщинам по паспорту" можно поставить женский диагноз) и договора старые должны быть завязаны на старые документы и т. п. И выясняется что надо сделать Person - Id - BirthDate - BirthGender - SSN (Я надеюсь он не меняется если он есть) - FkCurrentPublisedData (обратная ссылка на дочернюю, текущее значение) - fkCurrentDocument - fkCty - только текущий город без истории (например), хотя история изменения адреса и разные типа адресов тоже может быть PublishedData - Id - fkPerson - fkPreviousPublishedData - FirstName - LastName Document - Id - PublishedData - number - startDate - previousDocument - fkType City - id - name А потом может быть ещё выясняется что и для имён/фамилий надо иметь что-то типа справочника что бы помогать вводу с подсказками и минимизировать вариант неправильного ввода ФИО бабушками-операторшами. Как этими "миграциями" разрулить всё это да ещё с сохранением данных, правильным созданием индексов, уникальный констрейнтов и т.д. При этом если хочется иметь "умный констрейнт" на уровне БД что бы любой клиент (может тот кто импортит данные или ещё что-то) и реализовать его триггером что бы добавление новыйх ФИО означала автоматическую установку их как текущих и ссылка на предыдущие ставилась бы автоматом (мало ли какой-то отдельный процесс или галимый SSIS папкет это делает). Как этими "миграциями" без головняка решается такая задача?
@alexxaker3318
@alexxaker3318 6 жыл бұрын
А как осуществить изменение и удаление данных?
@JuiKoloshi
@JuiKoloshi 5 жыл бұрын
Нужна помощь! Публикую mvc сайт (пусть например шаблон) из visual studio дома на iis сервере +mssql2012 express. Щас я прописываю строку подключения явно, но если я захочу опубликовать ее на каком то хостинге, где я понятия не имею об имеющейся субд, как мне это реализовать? Ответьте хотя бы в 2ух словах, остальное я нагуглю.
@mastermood1941
@mastermood1941 3 жыл бұрын
20.12.2020 Все еще жду вторую часть(((
@Yarkendar
@Yarkendar 8 жыл бұрын
1) Поясните пожалуйста, в чем разница использования "using" при создании экземпляра класса контекста? Почему бы просто не создать экземпляр этого класса, без использования "using"? 2) Будут ли уроки по ASP.NET и в частности по ASP.NET Core ? P.S.: спасибо за информативный урок :)
@Defazze
@Defazze 8 жыл бұрын
+Yarkendar 1. Потому что контекст данных - это неуправляемый ресурс (БД). Его необходимо явно уничтожать (вызывать метод Dispose), иначе будет утечка памяти. Выход за пределы директивы using как раз автоматически и вызывает Dispose. Чтобы ненароком не забыть 2. Пока в ближайших планах нет
@Yarkendar
@Yarkendar 8 жыл бұрын
+Программирование - это просто, в каких еще случаях, кроме контекста БД, нужно использовать такую конструкцию?
@Defazze
@Defazze 8 жыл бұрын
В тех случаях, когда создаваемый объект реализует интерфейс IDisposable
@kostiantynsemeniuk682
@kostiantynsemeniuk682 8 жыл бұрын
+Yarkendar визде где нужно закрить соединение или очистить ресурси, для применра Stream и наследники. msdn.microsoft.com/ru-ru/library/yh598w02.aspx msdn.microsoft.com/ru-ru/library/system.io.streamreader(v=vs.110).aspx
@Margarita-nx8kd
@Margarita-nx8kd 5 жыл бұрын
+1 а продолжения entity не будет? 😢
@armengishyan9844
@armengishyan9844 7 жыл бұрын
есть второй часть не могу найти ???
@biosvova
@biosvova 5 жыл бұрын
Будет ли продолжение?
@leonid8484
@leonid8484 4 жыл бұрын
Скажите пожалуйста, а продолжение будет ?
@sviatoslav3347
@sviatoslav3347 8 жыл бұрын
А будут ли уроки по ASP.NET?
@Defazze
@Defazze 8 жыл бұрын
Скорее всего нет
@ZerpicoBlog
@ZerpicoBlog 7 жыл бұрын
Лучше не надо. Это несколько другая область, Web-программирование. Мне нравится этот канал что здесь нет этого, лучше найди уроки сам уроки по ASP и web-программированию в целом.
@user-ni1qi5xl6y
@user-ni1qi5xl6y 6 жыл бұрын
Программирование - это просто. Похоже, что уроков уже вообще не будет :(
@MrDudeNudem
@MrDudeNudem 4 жыл бұрын
Вернись, доделай код ферст! Плиз! :)
@EdwardNorthwind
@EdwardNorthwind 4 жыл бұрын
не ну чо, давайте отменим поддержку.... -- А что делать людям, если им нужно написать ПО к уже существующей БД? -- Да плевать на них!
@ZnZ
@ZnZ 6 жыл бұрын
А можно как-то сделать что бы база лежала рядом с .exe, и работало у всех?
@Raven666Lich
@Raven666Lich 6 жыл бұрын
ну здесь зависит от того должны ли быть данные общедоступными, если база только для одного пользователя, то можно использовать sqlite, а если данные должны быть общедоступными то приложение должно подключаться к серверу БД
@yar4ick
@yar4ick 8 жыл бұрын
Я понимаю что Вы и так в последнее время делаете очень много работы для канала, но ужасно не хватает курса по ASP.NET MVC 5!
@antonvdovin8104
@antonvdovin8104 8 жыл бұрын
+Ярослав Петренко рано еще курсы пилить, сыроват он еще
@yar4ick
@yar4ick 8 жыл бұрын
Он 13го года как бы, где ж он сырой. Это скорей к MVC 6 относится
@user-dn2dm6tr7o
@user-dn2dm6tr7o 5 жыл бұрын
Вернись,а то плакать буду
@user-ip7ox6vh1q
@user-ip7ox6vh1q 4 жыл бұрын
А где 2 часть? очень надо
@cheguevara1260
@cheguevara1260 7 жыл бұрын
Цитата: "ADO.NET производительнее Entity Framework ~ в 1.5 раза. Использование технологии LINQ еще снижают производительность. За удобство нужно платить." прокоментируйте пожлст
@ZerpicoBlog
@ZerpicoBlog 7 жыл бұрын
Потому что ADO.NET работает на прямую с БД. А EF создает слои, сущности, ссылки и прочее. И целиком обращается с БД по 10 раз всё проверив и синхронизировав. От того и скорость медленее. Но тут что тебе важнее удобства или скорость. Только вот работаю с например с базой где таблиц например 300, еще и куча процедур и представлений и т.п. То конечно в этом плане EF удобнее и оправданее. В остальном лучше ADO.NET. Ну это конечно моё мнение, выводы делай лучше сам, что для тебя и для какой задачи лучше
@sergpavlenko1403
@sergpavlenko1403 3 жыл бұрын
Может мне ктото обьяснить нахер эти миграции нужны? Упростили жизнь..... я еще и изучать команды миграции должен вместо простого изменения базы данных.....
Слоёная архитектура  на примере C# и Dapper
33:34
Програмысли Влог
Рет қаралды 9 М.
C# programming. Lesson 16. Entity Framework. Part 1
35:18
Программирование - это просто
Рет қаралды 92 М.
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 31 МЛН
Creepy Teacher Kidnapped My Girlfriend?!
00:42
Alan Chikin Chow
Рет қаралды 15 МЛН
Изучение C# в одном видео уроке за час!
1:06:08
Гоша Дударь
Рет қаралды 864 М.
Entity framework реализация патернов Relation.
25:06
Архитектор ПО. Александр Желнин
Рет қаралды 4,6 М.
ЧТО ТАКОЕ ENTITY FRAMEWORK?
20:21
АйтишныйДомосед
Рет қаралды 17 М.
Эффективная работа с EntityFramework Core
23:38
Sergei Calabonga
Рет қаралды 10 М.
Примеры C#. DataGenerator. Dependency Injection
19:09
Программирование - это просто
Рет қаралды 27 М.
C# programming. Lesson 3. Delegates and Events.
21:13
Программирование - это просто
Рет қаралды 186 М.
Всё об Entity Framework Core
2:38:04
Platinum DEV
Рет қаралды 50 М.
A pack of chips with a surprise 🤣😍❤️ #demariki
00:14
Demariki
Рет қаралды 31 МЛН