Пример работы С#+ 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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.