Пример работы С#+ MS Sql Server + Entity Framework 6 + Dadata(1 часть)

Всем привет,
В этот раз мы разберём немного другой пример, он более реалистичен чем предыдущий, не редко получается такая ситуация, когда есть сайт — на этом сайте все регистрируются покупают продукцию и уходят, а через некоторое время компании приходит в голову начать делать рассылку на указанные пользователями адреса, чтобы пользователи возвращались. Однако, в ходе первичного анализа выясняется, что в адресах много ошибок, соответственно, лучше всего адреса прогнать через какой нибудь сервис и получить на выходе хорошие, красивые email. Этим мы сейчас и будем заниматься.

ЧАСТЬ 1: Форма + Entity Framework

1) Создаем проект WinForm называем его «DadateJsonMsSQLServer».
2) Кидаем на форму listBox и checkedListBox, первому даем название listBoxRows, второму checkedListBoxRowsDadata — растягиваем их так, чтобы они пополам разделяли форму, оставляем снизу места для кнопок.
3) Добавляем 3 кнопки, свойства:
—(Первая кнопка)name=buttonGetEmailDB, text=»Получить email из БД»
—(Вторая кнопка)name=buttonSubmitDadata, text=»Отправить данные в Dadata»
—(Третья кнопка)name=buttonUpdateRows, text=»Изменить строки в БД»
По итогу все должно выглядеть так:

4) Теперь к проекту нужно добавить Entity Framework, переходим в NUGET


Подтверждаем установку.

5) Теперь необходимо создать таблицу Client в MSSQLServer — три колонки Id,ClientName,Email код создания таблицы и наполнение:
*Я сознательно ни описал процесс подключения SQL Server в обозреватель объектов SQL Server+создания БД, т.к. предполагаю что вы уже с ним знакомы, тем ни менее, если пункт с созданием БД нужно включить в данную статью напишите об этом в комментариях*

create table Client (Id int primary key,ClientName nvarchar(128),Email nvarchar(128))

insert into Client values 
(1,'Davis Sara','spark823@mailru'),
(2,'Funk Don','menka52@mail.r'),
(3,'Lew Judy','rabota683@gmail,com'),
(4,'Peled Yael','dondok1992mail.ru'),
(5,'Buck Sven','rspsuper@bk.ru'),
(6,'Suurs Paul','www.tanya9999@mail.ru'),
(7,'King Russell','margo_16@listюru'),
(8,'Cameron Maria','andreimakarychev@mail.ru'),
(9,'Dolgopyatova Zoya','alia12111987@mфil.ru')

6) Теперь необходимо создать модель, которая свяжет объекты C# и объекты БД, называем ее «ModelDb»



Тут необходимо выбрать SQL Server установленный на вашем ПК и выбрать БД, в которой создана таблица Client.

8) После этих манипуляций в проекте должно появиться 2 файла:

9) Так теперь необходимо проверить что нам удалось связаться класс с таблицей, для этого переходит на форму и дважды нажимаем левой кнопкой мыши на кнопку «Получить email из БД».
10) Теперь внутри метода пишем следующее:

Modeldb modelDb = new ModelDb(); //Создаем экземпляр контекса, чтобы получить данные из БД.
            
try //обработка исключений, если упадет узнаем почему.
{
   var emailList = modelDb.Client.Select(c=>c.Email); //Получить только Email
   foreach (var item in emailList) 
   {
       listBoxRows.Items.Add(item);
   }
}
catch (Exception ex)
{
   MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error); // На всякий случай если упадет.
}

11) Запускаем проект, нажимаем на кнопку «Получить email из БД». Получаем список

Конец первой части)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.