На этом занятии мы познакомимся с реляционными базами данных (SQL) на примере СУБД Microsoft SQL Server. Научимся создавать базы данных, таблицы, связи, первичные и внешние ключи. А также рассмотрим концепцию ORM и популярный инструмент Entity Framework, который позволяет создавать базу данных на основе исходного кода (code first), или наоборот, из базы данных создавать классы (database first). Также мы узнаем, что такое миграции и научимся обновлять структуру базы данных на основе программного кода. Используем команды enable-migrations, add-migration, update-database.
Блин тащусь от тебя! Огромнейшее спасибо!❤️❤️❤️ Сайт попросили сделать. Я два дня матюкался: не мог разобраться как с Entity работать. Уже отчаялся найти информацию. И тут вспомнил про тебя... Я прозрел после твоего видео. Все сделал и соазу заработало. Спасибо. Продолжай в том же духе✊🏻
@CODE BLOG - Программирование и C# Вадим. Подскажи пжл как вывести на консоль список песен по определенной группе? ты сделал такую возможность но не реализовал в этом уроке. Я пытался это сделать но не вышло. ты переопределил метод public virtual ICollection Songs { get; set; } но как его использовать? вот мой пример: namespace ConsoleApp1 { class Program { static void Main(string[] args) { using (var context = new MyDbContext()) { var group = new Group() { Name = "Rammstain", Year = 1994 }; var group2 = new Group() { Name = "Linkin Park" }; var group3 = new Group() { Name = "Massive Attack", Year = 1988 }; var group4 = new Group() { Name = "Depeche Mode" }; context.Groups.AddOrUpdate(g => g.Name,group); context.Groups.AddOrUpdate(g => g.Name,group2); context.Groups.AddOrUpdate(g => g.Name, group3); context.Groups.AddOrUpdate(g => g.Name, group4); context.SaveChanges(); Song [] songs = { new Song(){Name = "In the end", GroupId = group2.Id }, new Song(){Name = "Numb", GroupId = group2.Id }, new Song(){Name = "Mutter", GroupId = group.Id }, new Song(){Name = "Disolved girl", GroupId = group3.Id}, new Song(){Name = "Personal Jesus", GroupId = group4.Id}, new Song(){Name = "Blue line", GroupId = group4.Id } }; for (int i = 0; i < songs.Length; i++) { context.Songs.AddOrUpdate(s => s.Name, songs[i]); } context.SaveChanges(); var massiveAttackSongs = group3.Songs; foreach (var song in massiveAttackSongs) { Console.WriteLine($"Massive Attack songs: {song.Id}: {song.Name}"); } Console.WriteLine(); } } } }
Здраствуйте, помогите, пожалуйста, после запуска кода (1:25:40), в программе Microsoft SQL Server Managment, не создалась таблица Music(Обозреватель объектов обновлял и путь вроде указан верно () )
Добрый день , возможно ли сделать на основе таблиц рандомайзер ? Например рандомом выбрано число 2 - происходит выбор группы под номером 2 , так же с треком .
При работе с аннотациями (хочу изменить количество знаков типа decimal), но при миграции получаю The store type 'decimal(18,6)' could not be found in the SqlServer provider manifest (Если генерировать БД с нуля, то с этой же ошибкой вываливается исключение). Подскажите, пожалуйста, в какую сторону копать?
По поводу модификатора virtual метанит подсказывает, что это нужно для "ленивой" загрузки данных - чтобы данные подгружались только когда потребуются. Без virtual EF тоже будет работать, но не "лениво", и нужно будет вызывать специальные методы для загрузки.
Привет, учусь по твоим урокам, спасибо за эту возможность. Можешь подсказать как открыть файл app.config или где искать и смотреть, у меня его просто нет использую с#9 visual 22
Блин, у меня затык при работе с миграциями. Я повторяю полностью, но у меня образуются пустые методы Up и Down. При попытке написать вручную всё то же самое, ругается консоль, что столбцы должны иметь уникальные имена. Если делаю апдейт, то вылетает исключение там же, где и вылетало. Не добавляется новый столбец и в server management studio. В чём косяк?
просто когда я это ввожу выводит ошибку: ЗАГОЛОВОК: Соединение с сервером ------------------------------ Невозможно подключиться к (localdb)\MSSQLLocalDB. ------------------------------ ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ: При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: SQL Network Interfaces, error: 50 - Произошла ошибка Local Database Runtime.Невозможно создать автоматический экземпляр. Дополнительные сведения об ошибке см. в журнале событий приложений Windows. ) (Microsoft SQL Server, ошибка: -1983577832) Чтобы получить справку, щелкните: go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-1983577832&LinkId=20476 ------------------------------ КНОПКИ: ОК ------------------------------
Огромное спасибо за уроки! Желаю удачи в профессиональном развитии, а также в развитии канала. P.S. изучение всего курса + алгоритмы + структуры данных + паттерны - можно ли это считать достаточным багажом для поиска первой работы? Заранее спасибо)
Здравствуйте, подскажите пожалуйста. При выполнении команды enable-migrations указывает на ошибку. enable-migrations : Имя "enable-migrations" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку. строка:1 знак:1 + enable-migrations + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (enable-migrations:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
А у тебя точно установлен Entity Framework в этот проект? просто если у тебя решение состоит из нескольких проектов, и EF установлен только в одном, то нужно выбрать проект в диспетчере пакетов, там должен быть небольшой выпадающий список и указан проект. Проверь
Исправил ошибку. Решение создавал в VS Community 2019. 24.09.19 на EF вышло обновление 6.3.0 при использовании которого была ошибка, при использовании версии 6.2.0 работает без ошибок.
Скачал ваш код с гитхаба и в файле Program.cs на строке 48 context.Groups.Add(group); выдает ошибку: System.Data.SqlClient.SqlException: "Cannot find the object "dbo.Groups" because it does not exist or you do not have permissions." В чем может быть причина? В своей программе таблицы другие, но на этом же месте такая же ошибка PS. Еще вопрос почему в файле Group.cs мы указываем public virtual ICollection Songs во множественном числе, а в файле Song.cs public virtual Group Group в единственном? В своем решении у меня все после некоторых правок прошло строку 48, зато остановилось на выводе. Если по вашему примеру это цикл foreach, где выводятся данные со второй таблицы Group name: {song.Group.Name} и выдает ошибку: System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта." Таблицы у меня другие но смысл тот же. Уже мучаюсь 4 дня
Я конечно опоздал на год, но хотелось бы узнать вот такой вопрос: а как получить данные из первых двух таблиц которые мы создали в самом начале (не с помощью кода, а с помощью интерфейса). Т.е. когда база данных уже готова и нужно только данные получить. Помоги, пожалуйста. Как-то не понятен этот момент..
Есть следующая задача: необходимо реализовать ПО, способное на запрос от пользователя из базы данных или файла витаскивать значение некоторых параметров и строить по ним график и/или выводить их ему в виде таблицы. Нарпимер пользователь задает временные рамки, и на графике отображается изменение етого параметра на протяжении указаного интервала времени. Можно ли такое реализовать при помощи инструментов C# и Visual Studio Community ? Если да, тогда можно ли такую реализацию запустить на условном Raspberry PI, или для етого нужен будет именно ПК ?
Здравствуйте, вопрос таков: Если я хочу добавить другие песни этих же групп в БД, то как сделать, чтобы названия этих групп заново не генерировались в таблице Groups?
Необработанное исключение: System.Data.SqlClient.SqlException: CREATE FILE encountered operating system error 5(Отказано в доступе.) while attempting to open or create the physical file 'C:\Users\sivolDbConnectionString.mdf'. CREATE DATABASE failed
Каким образом можно создать приложение в котором можно непосредственно добавлять данные в базу? (По типу список сериалов) Такое чтобы оно было кликабельным), а то консольное приложение вообще не комильфо... Заранее спасибо!
Добрый день, подскажите корректно ли будет вывести переменную класса MyDbContext(как в вашем примере) в статический класс и использовать её во всем проекте? или за это по лицу дают?
Я встречал вариант, когда в синглтон оборачивали, но вообще лучше так не делать. Глобальные переменные зачастую могут приводить к большему числу багов, чем приносить пользу :) но по лицу бить вряд ли за такое станут :)
@@bek15071991 ух, по базам будет по сложнее, нужно искать... попробуй эту MySQL. Оптимизация производительности - Бэрон Шварц, Петр Зайцев, Вадим Ткаченко, Джереми Заводны, Арьен Ленц, Дерек Боллинг
спасибо за урок жесть 9 часов кодил на часе 1:30 видео решили только запустить.... это треш ребята... мда... Серьезность Код Описание Проект Файл Строка Состояние подавления Сообщение Не удалось найти информацию о схеме для атрибута "connectionString". consSQL C:\Users\Администратор\source epos\consSQL\consSQL\consSQL\App.config 7 Сообщение Не удалось найти информацию о схеме для атрибута "name". consSQL C:\Users\Администратор\source epos\consSQL\consSQL\consSQL\App.config 7 Сообщение Не удалось найти информацию о схеме для атрибута "providerName". consSQL C:\Users\Администратор\source epos\consSQL\consSQL\consSQL\App.config 7 Сообщение Не удалось найти информацию о схеме для элемента "add". consSQL C:\Users\Администратор\source epos\consSQL\consSQL\consSQL\App.config 7 Сообщение IDE0060 Удалить неиспользуемый параметр "args" consSQL C:\Users\Администратор\source epos\consSQL\consSQL\consSQL\Program.cs 8 Активный Предупреждение Элемент "packages" не объявлен. consSQL C:\Users\Администратор\source epos\consSQL\consSQL\consSQL\packages.config 2
какой практический смысл имеет постоянное создание базы и заполнение ее из программы? почему бы не показать сразу на форме добавление, поиск, удаление? По комментам вижу, что народу это нужно, но не пойму зачем:(
Это удобно, когда программа первый раз запускается на новом компьютере например при после установки. База будет создана сама и заполнена начальными значениями справочников например, а в дальнейшем пользователь будет вносить остальные данные самостоятельно
Это зависит от версии SQL Server на компьютере, а не SSMS. Если без этого про запросы можно почитать здесь docs.microsoft.com/ru-ru/sql/relational-databases/tables/create-foreign-key-relationships?view=sql-server-2017
Знаю со стрима прошел год но вдруг ответишь что делать если после установки Entity Framework нету ссылок и арр конфиг ( а так спосибо за хороший контент год прошел но очень актуально и полезно)
Подскажите пожалуйста в чем может быть проблема. 1:43:45 song.Group.Name все видит кроме этого :( Как у вас на модели между таблицами нету ромбика ... Все делал 1 в 1
Вы ведь не честный вывод в консоль делаете. Не из базы данные вытягиваются и не из листа класса который мы создали. А если бы сделали честно, то сдается мне - мы несколько дублей бы получили с разными Id
Народ, посоветуйте хорошую книгу именно по Entity Framework C#, в которой подробно разбираются все нюансы работы с БД. Интересно программирование бизнес систем, а там без БД вообще никуда.
У меня возникает ошибка: System.TypeInitializationException HResult=0x80131534 Сообщение = Инициализатор типа "System.Data.Entity.Internal.AppConfig" выдал исключение. Источник = EntityFramework Трассировка стека: в System.Data.Entity.Internal.AppConfig.get_DefaultInstance() в System.Data.Entity.Internal.LazyInternalConnection..ctor(DbContext context, String nameOrConnectionString) в System.Data.Entity.DbContext..ctor(String nameOrConnectionString) в SQL_базы_данных.MyDbContext..ctor() в C:\Users\user\source epos\SQL базы данных\SQL базы данных\MyDbContext.cs:строка 8 в SQL_базы_данных.Program.Main(String[] args) в C:\Users\user\source epos\SQL базы данных\SQL базы данных\Program.cs:строка 9 Внутреннее исключение 1: ConfigurationErrorsException: Система конфигурации не прошла инициализацию Внутреннее исключение 2: ConfigurationErrorsException: Неизвестный элемент. (C:\Users\user\source epos\SQL базы данных\SQL базы данных\bin\Debug\SQL базы данных.exe.Config line 8) Код я писал как на видео. С чем это связано?
Боже какая ужасная подача. Полезного материала - ДЕЙСТВИТЕЛЬНО ПОЛЕЗНОГО И ОЧЕНЬ НУЖНОГО ЗА ЧТО ОГРОМНОЕ СПАСИБО!!!- из 2х часового видео максимум на 15 минут. Да, давайте хейтите меня, но я именно про подачу. Просто на перемотке искал нужные мне 20 строчек кода. Образовательные видео не должны быть в формате стрима. Каждое слово "преподавателя" должно нести смысловую нагрузку, иначе это превращается в ППР - Пришли Попиздели Разошлись.
если найдешь такой источник скинь ссыль плиз. ПС прошел очное обучение на програмиста в Германии, 15.11.22 первый день в качестве разработчика в adesso SE... если б был такой учитель у меня, не приходилось бы сидеть вечерами на ютубе :D
привет, в панели поиска пишешь, "EntityFramework" первый пакет с синим значком с двумя точками, это он в описании:Entity Framework 6 (EF6) is a tried and tested object-relational mapper for .NET with many years of feature development and stabilization.
@@CODEBLOG говорит что Инициализатор типа "System.Data.Entity.Internal.AppConfig" выдал исключение и ещё ConfigurationErrorsException: Неизвестный атрибут 'providername'. Названия атрибутов чувствительны к регистру. (C:\Users\37529\source epos\ConsoleApp2\bin\Debug\ConsoleApp2.exe.Config line 11)
5:30 "SQL - это реляционная база данных" чиво? Этот человек точно компетентен? Потому что после такого и после "инкапсуляция - это сокрытие" я что-то очень сильно сомневаюсь.
Чат тоже нахер не уперся. Только место занимает. Если есть интересный вопрос просто прочитай да ответь. Нахера занимать место на итак маленьком пространстве?
Правильно, зачем показывать пример нормальной CRUD программы... вот вам бесполезная бурда, что просто херачит в базу одно и тоже при каждом запуске. Это же так полезно. В итоге хочешь разобраться --- иди гугли. Так на кой я это смотрел? Благо всего пол часа, а не все 2. Серьезно, впервые у меня негативные эмоции от просмотра ролика. Может хоть в следующем видео будет продолжение этой темы.
ну тут я старался показать более простую версию, если интересно именно создание crud системы - у меня есть практический интенсив по разработке приложения с нуля. как раз для того, чтобы показать процесс создания приложения с нуля до результата, посмотри здесь ruclips.net/video/eQph6ZT4X5w/видео.html
@@CODEBLOG в будущем посмотрю, я собираюсь посмотреть все видео на канале, особенно интересна практика, но какой смысл ее смотреть не понимая что там написано в коде.
Я просмотрел большое количество видеокурсов по программированию, и этот видеоурок худший из всех. Самый худший. Хуже не видел. Даже какой-нибудь школьники с писклявым голосом и пердящим микрофоном лучше видеоуроки делает. Очень медленно, долго, уныло. Итак скорость у этого чела как у улитки, так ещё и на комменты постоянно отвлекается. Представьте, идёт лекция в универе, ты сидишь, думаешь - здорово, этот предмет мне очень нравится, щас узнаю по нему много нового - препод начинает читать лекцию и при этом каждые 5 - 10 минут залипает в телефон на 15 - 20 секунд. Постоянно сбивается с мысли, очень медленно говорит, и лекция у него совершенно не подготовленная. Нет готовых примеров, картинок каких-нибудь, текста... ничего. В итоге минут 15 тратит только на то, чтобы сделать и показать пример таблицы в Экселе. Нельзя было заранее сделать примеры таблиц? Пиздец, я чуть от старости и скуки не помер. Не могу эту нудятину досмотреть, вынужден дропнуть на середине. Автор, поживее надо быть, ты слишком, как говорят в армии, вальяжно всё делаешь. Кофейку там выпей, спидами закинься, незнаю, ускорься как-нибудь! Ты не для пенсионеров видео делаешь, а для молодых и бодрых начинающих программистов. Просто пиздец уныние какое-то а не урок.
Жаль мне это говорить, но на этом уроке мне придется прекратить смотреть этот видеокурс, по нескольким причинам: подача ужасное, постоянна сбивает с смыслей постоянные затупы чела и то что он каждые 2-3 минуты смотрит в чат и читает очередное сообщение, совсем информация не подготовленная тупа 15 минут в excel пытались че-то показать, да и еще и скучно, нудно смотреть невозможно, жаль конечно что я этого раньше не понял(
На этом занятии мы познакомимся с реляционными базами данных (SQL) на примере СУБД Microsoft SQL Server. Научимся создавать базы данных, таблицы, связи, первичные и внешние ключи. А также рассмотрим концепцию ORM и популярный инструмент Entity Framework, который позволяет создавать базу данных на основе исходного кода (code first), или наоборот, из базы данных создавать классы (database first). Также мы узнаем, что такое миграции и научимся обновлять структуру базы данных на основе программного кода. Используем команды enable-migrations, add-migration, update-database.
При соединение выдает ошибку 53, может ли проблема в том, что mssql чувствует, что винда пиратская?
Блин тащусь от тебя! Огромнейшее спасибо!❤️❤️❤️ Сайт попросили сделать. Я два дня матюкался: не мог разобраться как с Entity работать. Уже отчаялся найти информацию. И тут вспомнил про тебя... Я прозрел после твоего видео. Все сделал и соазу заработало. Спасибо. Продолжай в том же духе✊🏻
Это очень круто! невероятно рад, что смог помочь, супер! )))
Спасибо за труд!
Лукас и коммент в поддержку канала!
Все уроки классные, но инфа в этом видео бесценна. Огромное спасибо!!!
Офигеть) Заполнил таблицу сразу несколькими песнями этих групп и долго смеялся, когда ты позже заполнил ее теми же песнями в той же последовательности
Так в этом и смысл был. Сначала показать, как это создаётся через программу работы с БД, а затем как то же самое создаётся через код и фреймворк
@@talisman1104 да я не об этом. Я сначала заполнил сам, а потом продолжил смотреть. И песни совпали
C# - лучший язык! Кто за - лайк!
Не бывает лучших язык. У каждого языка своя область. Ты же не будешь писать фронтенд на ассемблере?
@@Ximls это не отменяет тот факт, что C# лучший язык программирования в мире!
@@Programmer777 ну вперед, ждем новых дров на проц от амд, а можешь еще на опенсус баги пофиксить....
@@roottexet2451 ждем, я рад ,что вы такого же мнения как и я
@@Programmer777 )))
Опять что-то новое узнал. Миграция классная штука. Жаль узнал только сейчас. Много времени потратил пока допиливал БД. Спасибо!
Подписался с первой же минуты туториала. Очень понятный приятный голос и грамотная речь
Спасибо за уроки!
@CODE BLOG - Программирование и C#
Вадим. Подскажи пжл как вывести на консоль список песен по определенной группе? ты сделал такую возможность но не реализовал в этом уроке. Я пытался это сделать но не вышло. ты переопределил метод public virtual ICollection Songs { get; set; } но как его использовать?
вот мой пример:
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
using (var context = new MyDbContext())
{
var group = new Group()
{
Name = "Rammstain",
Year = 1994
};
var group2 = new Group()
{
Name = "Linkin Park"
};
var group3 = new Group()
{
Name = "Massive Attack",
Year = 1988
};
var group4 = new Group()
{
Name = "Depeche Mode"
};
context.Groups.AddOrUpdate(g => g.Name,group);
context.Groups.AddOrUpdate(g => g.Name,group2);
context.Groups.AddOrUpdate(g => g.Name, group3);
context.Groups.AddOrUpdate(g => g.Name, group4);
context.SaveChanges();
Song [] songs =
{
new Song(){Name = "In the end", GroupId = group2.Id },
new Song(){Name = "Numb", GroupId = group2.Id },
new Song(){Name = "Mutter", GroupId = group.Id },
new Song(){Name = "Disolved girl", GroupId = group3.Id},
new Song(){Name = "Personal Jesus", GroupId = group4.Id},
new Song(){Name = "Blue line", GroupId = group4.Id }
};
for (int i = 0; i < songs.Length; i++)
{
context.Songs.AddOrUpdate(s => s.Name, songs[i]);
}
context.SaveChanges();
var massiveAttackSongs = group3.Songs;
foreach (var song in massiveAttackSongs)
{
Console.WriteLine($"Massive Attack songs: {song.Id}: {song.Name}");
}
Console.WriteLine();
}
}
}
}
Отлично видео, спасибо большое ❤
Спасибо за классные уроки, вот пишу курсач, а там и диплом))
Здраствуйте, помогите, пожалуйста, после запуска кода (1:25:40), в программе Microsoft SQL Server Managment, не создалась таблица Music(Обозреватель объектов обновлял и путь вроде указан верно () )
У меня создалась с именем "DbConnectionString", тоже ищу причину и решение. VS 2019
Тоже самое и у меня
то же самое. Решил проблему?
Добрый день , возможно ли сделать на основе таблиц рандомайзер ? Например рандомом выбрано число 2 - происходит выбор группы под номером 2 , так же с треком .
При работе с аннотациями (хочу изменить количество знаков типа decimal), но при миграции получаю The store type 'decimal(18,6)' could not be found in the SqlServer provider manifest (Если генерировать БД с нуля, то с этой же ошибкой вываливается исключение). Подскажите, пожалуйста, в какую сторону копать?
Когда Тарковский снимал сталкера, он пытался прикоснуться к экзестенциальному. Он не знал, что sql c# это и есть экзестенциальное.
По поводу модификатора virtual метанит подсказывает, что это нужно для "ленивой" загрузки данных - чтобы данные подгружались только когда потребуются. Без virtual EF тоже будет работать, но не "лениво", и нужно будет вызывать специальные методы для загрузки.
Как избавиться от дублирования записей в бд?
В смысле как выполнить AddRange чтобы данные обновлялись.
Привет, учусь по твоим урокам, спасибо за эту возможность. Можешь подсказать как открыть файл app.config или где искать и смотреть, у меня его просто нет использую с#9 visual 22
разобрался?
В начале когда создаешь проект выбрал не то консольное приложение
Блин, у меня затык при работе с миграциями. Я повторяю полностью, но у меня образуются пустые методы Up и Down. При попытке написать вручную всё то же самое, ругается консоль, что столбцы должны иметь уникальные имена. Если делаю апдейт, то вылетает исключение там же, где и вылетало. Не добавляется новый столбец и в server management studio. В чём косяк?
Это (localdb)\MSSQLLocalDB еще работает?
просто когда я это ввожу выводит ошибку:
ЗАГОЛОВОК: Соединение с сервером
------------------------------
Невозможно подключиться к (localdb)\MSSQLLocalDB.
------------------------------
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: SQL Network Interfaces, error: 50 - Произошла ошибка Local Database Runtime.Невозможно создать автоматический экземпляр. Дополнительные сведения об ошибке см. в журнале событий приложений Windows.
) (Microsoft SQL Server, ошибка: -1983577832)
Чтобы получить справку, щелкните: go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-1983577832&LinkId=20476
------------------------------
КНОПКИ:
ОК
------------------------------
А почему нет? )
Скачай SQL Server Express 2017 версию там при установке будет окно выбора компонентов поставь галочку возле LocalDB внизу
@@HelloWorld-ln5cy спасибо, странно хотел скачать 17 версию, вылазила ошибка, скачал 19, все заработало)
@@HelloWorld-ln5cy Спасибо тебе, добрый человек!
Спасибо большое за информацию.
Ставлю лайки и смотрю рекламу))
Жду не дождусь уроки по Unity
дождался?:D
Отличное видео, спасибо!
Очень рад, что нравится )
пожалуйста
Огромное спасибо за уроки! Желаю удачи в профессиональном развитии, а также в развитии канала.
P.S. изучение всего курса + алгоритмы + структуры данных + паттерны - можно ли это считать достаточным багажом для поиска первой работы? Заранее спасибо)
Отлично! Спасибо!
Почему у меня нет папки App.config
Здравствуйте, подскажите пожалуйста. При выполнении команды enable-migrations указывает на ошибку.
enable-migrations : Имя "enable-migrations" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего
повторите попытку.
строка:1 знак:1
+ enable-migrations
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (enable-migrations:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
А у тебя точно установлен Entity Framework в этот проект? просто если у тебя решение состоит из нескольких проектов, и EF установлен только в одном, то нужно выбрать проект в диспетчере пакетов, там должен быть небольшой выпадающий список и указан проект. Проверь
Исправил ошибку. Решение создавал в VS Community 2019. 24.09.19 на EF вышло обновление 6.3.0 при использовании которого была ошибка, при использовании версии 6.2.0 работает без ошибок.
@@rustambekmuratov5037 Спасибо) пол дня мучился с такой же ошибкой)
@@rustambekmuratov5037 Да, действительно, проблема была в версии Entity Framework. Удалил 6.4.0 - поставил 6.2.0 - всё заработало. Спасибо!
@@rustambekmuratov5037 спасибо, искал специально решение этой проблемы в комментариях.
thank you
Скачал ваш код с гитхаба и в файле Program.cs на строке 48 context.Groups.Add(group); выдает ошибку: System.Data.SqlClient.SqlException: "Cannot find the object "dbo.Groups" because it does not exist or you do not have permissions."
В чем может быть причина?
В своей программе таблицы другие, но на этом же месте такая же ошибка
PS. Еще вопрос почему в файле Group.cs мы указываем public virtual ICollection Songs во множественном числе, а в файле Song.cs public virtual Group Group в единственном?
В своем решении у меня все после некоторых правок прошло строку 48, зато остановилось на выводе. Если по вашему примеру это цикл foreach, где выводятся данные со второй таблицы Group name: {song.Group.Name} и выдает ошибку: System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта."
Таблицы у меня другие но смысл тот же. Уже мучаюсь 4 дня
Скорее всего не создалась база данных. попробуй выполнить миграцию
Tnx
Я конечно опоздал на год, но хотелось бы узнать вот такой вопрос: а как получить данные из первых двух таблиц которые мы создали в самом начале (не с помощью кода, а с помощью интерфейса). Т.е. когда база данных уже готова и нужно только данные получить. Помоги, пожалуйста. Как-то не понятен этот момент..
Мне б тоже
Есть следующая задача: необходимо реализовать ПО, способное на запрос от пользователя из базы данных или файла витаскивать значение некоторых параметров и строить по ним график и/или выводить их ему в виде таблицы. Нарпимер пользователь задает временные рамки, и на графике отображается изменение етого параметра на протяжении указаного интервала времени. Можно ли такое реализовать при помощи инструментов C# и Visual Studio Community ? Если да, тогда можно ли такую реализацию запустить на условном Raspberry PI, или для етого нужен будет именно ПК ?
наверное
Здравствуйте, вопрос таков: Если я хочу добавить другие песни этих же групп в БД, то как сделать, чтобы названия этих групп заново не генерировались в таблице Groups?
Так не надо отправлять запрос в таблицу с группами
а как получить данные из БД, которые мы уже сохранили?
Просто снова вызови нужные функции/свойства.
вежливо попросить
Необработанное исключение: System.Data.SqlClient.SqlException: CREATE FILE encountered operating system error 5(Отказано в доступе.) while attempting to open or create the physical file 'C:\Users\sivolDbConnectionString.mdf'.
CREATE DATABASE failed
Как-нибудь решили проблему?
@@GameQuestionTV нет
Привет, посмотри лог-файл, мне кажется в нем дело
Каким образом можно создать приложение в котором можно непосредственно добавлять данные в базу? (По типу список сериалов) Такое чтобы оно было кликабельным), а то консольное приложение вообще не комильфо... Заранее спасибо!
Only WPF
Добрый день, подскажите корректно ли будет вывести переменную класса MyDbContext(как в вашем примере) в статический класс и использовать её во всем проекте? или за это по лицу дают?
Я встречал вариант, когда в синглтон оборачивали, но вообще лучше так не делать. Глобальные переменные зачастую могут приводить к большему числу багов, чем приносить пользу :) но по лицу бить вряд ли за такое станут :)
Шикарно.
А какой профит с этих баз данных? Зачем они нужны?
Ответ на твой вопрос кроется в названии "База данных", если в тупую, то для хранения данных
Расскажите какие книги читать по оптимизации шара кода и скл.
Джеффри Рихтер :) как раз по нему сейчас видео снимаю, а еще www.ozon.ru/context/detail/id/23816449/
CODE BLOG - Программирование и C# спасибо, а по базам данных. Например, такие темы как план запросов , как хранятся данные на физическом уровне.
@@bek15071991 ух, по базам будет по сложнее, нужно искать... попробуй эту MySQL. Оптимизация производительности - Бэрон Шварц, Петр Зайцев, Вадим Ткаченко, Джереми Заводны, Арьен Ленц, Дерек Боллинг
Жаль, что в 18 версии SSMS теперь нельзя делать диаграммы( За видео спасибо, узнал много нового.
Насколько я знаю, это зависит не от версии ssms, а от версии sql-сервера
Вышла 18.1 теперь можно!
спасибо за урок
жесть 9 часов кодил на часе 1:30 видео решили только запустить.... это треш ребята...
мда...
Серьезность Код Описание Проект Файл Строка Состояние подавления
Сообщение Не удалось найти информацию о схеме для атрибута "connectionString". consSQL C:\Users\Администратор\source
epos\consSQL\consSQL\consSQL\App.config 7
Сообщение Не удалось найти информацию о схеме для атрибута "name". consSQL C:\Users\Администратор\source
epos\consSQL\consSQL\consSQL\App.config 7
Сообщение Не удалось найти информацию о схеме для атрибута "providerName". consSQL C:\Users\Администратор\source
epos\consSQL\consSQL\consSQL\App.config 7
Сообщение Не удалось найти информацию о схеме для элемента "add". consSQL C:\Users\Администратор\source
epos\consSQL\consSQL\consSQL\App.config 7
Сообщение IDE0060 Удалить неиспользуемый параметр "args" consSQL C:\Users\Администратор\source
epos\consSQL\consSQL\consSQL\Program.cs 8 Активный
Предупреждение Элемент "packages" не объявлен. consSQL C:\Users\Администратор\source
epos\consSQL\consSQL\consSQL\packages.config 2
А ты в app.config connectionstring точно в правильное место вставил?
@@CODEBLOG спасибо, вы очень большое дело делаете!
Linkin Park forever!
Да, очень крутая группа. До сих пор весь альбом meteora в моем плейлисте )
какой практический смысл имеет постоянное создание базы и заполнение ее из программы? почему бы не показать сразу на форме добавление, поиск, удаление? По комментам вижу, что народу это нужно, но не пойму зачем:(
Это удобно, когда программа первый раз запускается на новом компьютере например при после установки. База будет создана сама и заполнена начальными значениями справочников например, а в дальнейшем пользователь будет вносить остальные данные самостоятельно
Спасибо!
Ребят, почему то после установки Entity Framework у меня не появился файл App config. Как его найти?
P.S
Visual Studio 2022
Entity Framework 6.4.4
Нашел ? У меня тоже нет
Почему-то в новой версии всё подругому
Нигде нет папки Диаграммы базы данных, во всех ветках искал, как я понял в новых версиях SSMS убрали все это дело. Как установить связи без нее?
Это зависит от версии SQL Server на компьютере, а не SSMS. Если без этого про запросы можно почитать здесь docs.microsoft.com/ru-ru/sql/relational-databases/tables/create-foreign-key-relationships?view=sql-server-2017
Знаю со стрима прошел год но вдруг ответишь что делать если после установки Entity Framework нету ссылок и арр конфиг (
а так спосибо за хороший контент год прошел но очень актуально и полезно)
Создай App.config :)
Во время создания проекта укажи Консольное приложение(Net.Framework) а не(Net.Core)
@@ДенисЛитвинчук-о3ж Спасибо)
Подскажите пожалуйста в чем может быть проблема.
1:43:45 song.Group.Name все видит кроме этого :(
Как у вас на модели между таблицами нету ромбика ...
Все делал 1 в 1
закинь код на гитхаб - гляну быстренько. а так получается нет связи между объектами
@@CODEBLOG github.com/axelzero/DB
Спасибо большое!
Не MagazId, а MagazinId. EntityFramework чувствителен к именам, или можно использовать специальный атрибут для указания ключа [ForeignKey]
@@CODEBLOG Спасибо :)
Вы ведь не честный вывод в консоль делаете. Не из базы данные вытягиваются и не из листа класса который мы создали. А если бы сделали честно, то сдается мне - мы несколько дублей бы получили с разными Id
всем привет
ссылку на гит дайте пожалуйста
Не наблюдаю ссылку на гитхаб... это я дурак или лыжи не едут?
А можно еще урок по этой теме с винформ?
Так, и этот досмотрел.
Круто )
void MoveTheChanelUp(int like, string comment);
Народ, посоветуйте хорошую книгу именно по Entity Framework C#, в которой подробно разбираются все нюансы работы с БД. Интересно программирование бизнес систем, а там без БД вообще никуда.
Посмотри эту github.com/Apress/entity-framework-6-recipes
Имя сервера: (localdb)\MSSQLLocalDB
45 : 10
Ошибка в строке подключения(неизвестный элемент)...
prop ускорит описание моделей
У меня возникает ошибка: System.TypeInitializationException
HResult=0x80131534
Сообщение = Инициализатор типа "System.Data.Entity.Internal.AppConfig" выдал исключение.
Источник = EntityFramework
Трассировка стека:
в System.Data.Entity.Internal.AppConfig.get_DefaultInstance()
в System.Data.Entity.Internal.LazyInternalConnection..ctor(DbContext context, String nameOrConnectionString)
в System.Data.Entity.DbContext..ctor(String nameOrConnectionString)
в SQL_базы_данных.MyDbContext..ctor() в C:\Users\user\source
epos\SQL базы данных\SQL базы данных\MyDbContext.cs:строка 8
в SQL_базы_данных.Program.Main(String[] args) в C:\Users\user\source
epos\SQL базы данных\SQL базы данных\Program.cs:строка 9
Внутреннее исключение 1:
ConfigurationErrorsException: Система конфигурации не прошла инициализацию
Внутреннее исключение 2:
ConfigurationErrorsException: Неизвестный элемент. (C:\Users\user\source
epos\SQL базы данных\SQL базы данных\bin\Debug\SQL базы данных.exe.Config line 8)
Код я писал как на видео. С чем это связано?
Нашел решение? такая же проблема
перезагрузи комп
Боже какая ужасная подача. Полезного материала - ДЕЙСТВИТЕЛЬНО ПОЛЕЗНОГО И ОЧЕНЬ НУЖНОГО ЗА ЧТО ОГРОМНОЕ СПАСИБО!!!- из 2х часового видео максимум на 15 минут. Да, давайте хейтите меня, но я именно про подачу. Просто на перемотке искал нужные мне 20 строчек кода. Образовательные видео не должны быть в формате стрима. Каждое слово "преподавателя" должно нести смысловую нагрузку, иначе это превращается в ППР - Пришли Попиздели Разошлись.
если найдешь такой источник скинь ссыль плиз.
ПС
прошел очное обучение на програмиста в Германии, 15.11.22 первый день в качестве разработчика в adesso SE... если б был такой учитель у меня, не приходилось бы сидеть вечерами на ютубе :D
Я че то не понял, откуда строку подключения брать?
Не могу найти в NuGet-e EntityFramework, Visual Studio 19
привет, в панели поиска пишешь, "EntityFramework" первый пакет с синим значком с двумя точками, это он
в описании:Entity Framework 6 (EF6) is a tried and tested object-relational mapper for .NET with many years of feature development and stabilization.
Не могу больше это заикание слушать.... на 23й минуте терпение кончилось.
32.47
++++
Почему нифега не работает?😭😭😭😭😭😭😭😭
А что именно не работает?
@@CODEBLOG говорит что Инициализатор типа "System.Data.Entity.Internal.AppConfig" выдал исключение и ещё ConfigurationErrorsException: Неизвестный атрибут 'providername'. Названия атрибутов чувствительны к регистру. (C:\Users\37529\source
epos\ConsoleApp2\bin\Debug\ConsoleApp2.exe.Config line 11)
Ура!!! Заработало!!!
@@huck_pro подскажи как решил проблему, пожалуйста? У меня так же просто
ни фига по вашему коду ничего не запускается. бестолковое видео.
49:08
Коротко о собеседовании на джуна
вопрос:
Зачем нужен модификатор public
ответ:
без павлика он какой-то некрасивый
5:30 "SQL - это реляционная база данных" чиво? Этот человек точно компетентен? Потому что после такого и после "инкапсуляция - это сокрытие" я что-то очень сильно сомневаюсь.
В чем проблема ,учите по книгам ,там перевод корявый ,учите по метаниту ,там тоже ошибки ,везде ошибки . Вывод - не учи ничего )
Чат тоже нахер не уперся. Только место занимает. Если есть интересный вопрос просто прочитай да ответь. Нахера занимать место на итак маленьком пространстве?
Правильно, зачем показывать пример нормальной CRUD программы... вот вам бесполезная бурда, что просто херачит в базу одно и тоже при каждом запуске. Это же так полезно. В итоге хочешь разобраться --- иди гугли. Так на кой я это смотрел? Благо всего пол часа, а не все 2. Серьезно, впервые у меня негативные эмоции от просмотра ролика.
Может хоть в следующем видео будет продолжение этой темы.
ну тут я старался показать более простую версию, если интересно именно создание crud системы - у меня есть практический интенсив по разработке приложения с нуля. как раз для того, чтобы показать процесс создания приложения с нуля до результата, посмотри здесь ruclips.net/video/eQph6ZT4X5w/видео.html
@@CODEBLOG в будущем посмотрю, я собираюсь посмотреть все видео на канале, особенно интересна практика, но какой смысл ее смотреть не понимая что там написано в коде.
boring
Я просмотрел большое количество видеокурсов по программированию, и этот видеоурок худший из всех. Самый худший. Хуже не видел. Даже какой-нибудь школьники с писклявым голосом и пердящим микрофоном лучше видеоуроки делает. Очень медленно, долго, уныло. Итак скорость у этого чела как у улитки, так ещё и на комменты постоянно отвлекается. Представьте, идёт лекция в универе, ты сидишь, думаешь - здорово, этот предмет мне очень нравится, щас узнаю по нему много нового - препод начинает читать лекцию и при этом каждые 5 - 10 минут залипает в телефон на 15 - 20 секунд. Постоянно сбивается с мысли, очень медленно говорит, и лекция у него совершенно не подготовленная. Нет готовых примеров, картинок каких-нибудь, текста... ничего. В итоге минут 15 тратит только на то, чтобы сделать и показать пример таблицы в Экселе. Нельзя было заранее сделать примеры таблиц? Пиздец, я чуть от старости и скуки не помер. Не могу эту нудятину досмотреть, вынужден дропнуть на середине. Автор, поживее надо быть, ты слишком, как говорят в армии, вальяжно всё делаешь. Кофейку там выпей, спидами закинься, незнаю, ускорься как-нибудь! Ты не для пенсионеров видео делаешь, а для молодых и бодрых начинающих программистов. Просто пиздец уныние какое-то а не урок.
может хватит смотреть уроки под спидами?
Жаль мне это говорить, но на этом уроке мне придется прекратить смотреть этот видеокурс, по нескольким причинам: подача ужасное, постоянна сбивает с смыслей постоянные затупы чела и то что он каждые 2-3 минуты смотрит в чат и читает очередное сообщение, совсем информация не подготовленная тупа 15 минут в excel пытались че-то показать, да и еще и скучно, нудно смотреть невозможно, жаль конечно что я этого раньше не понял(
На какой курс вместо этого перешел?
@@mr.underwood4569 Simpe Code и старый добрый Метанит)
Да с первых видео было что-то неладное, когда какие-то понятия он объяснял через "я так называю, мне так привычней"
Спасибо!