Подключаем бд в проект
Привет, ребят! Сегодня мы с вами подключим базу данных к нашему блогу, поэтому давайте приступать
Модель
Для начала нам нужно создать модель( если вы не знаете что это такое, то советую перед изучением данного материала ознакомиться с предыдущем уроком ) нашего поста. Эта модель будет состоять из 4 полей:
- Id - Это персональный индификатор каждого поста
- Title - Заголовок поста
- Text - Основная информация
- Time - Дата публикации
Этот файл должен находиться в Models и называться Article
namespace Lessontg.Models { public class Article { public int Id { get; set; } public string Title { get; set; } public string Text { get; set; } public string Time { get; set; } } }
Context
Установим NuGet пакет EntityFrameworkCore
Теперь напишем Context-файл, он должен находиться в корневой папке проекта и в названии обязательно иметь слово Context. Помимо этого класс Context`а будет наследоваться от DbContext.
Вот код:
namespace Lessontg { public class ArticleContext : DbContext { public DbSet<Article> articles { get; set; } public ArticleContext(DbContextOptions<ArticleContext> options) : base(options) { Database.EnsureCreated(); } } }
В коде выше мы создаем таблицу, основываясь на вышесозданную модель и потом прописываем код, чтобы таблица создавалась при запуске кода в первый раз.
appsettings
Нам нужно скопировать connection string. Ее можно найти в панели управления Azure Sql Server, в левом меню будет пункт "Строки подключения". Здесь нужно просто скопировать данную вам строчку.
Дальше переходим в .json файл и пишем в нем следующее:
"ConnectionStrings": { "DefaultConnection": "Ваша строка для подключения к бд" },
Sturtup
Для дальнейшей работы нам нужно установить еще один NuGet-пакет - Microsoft.EntityFrameworkCore.SqlServer
Теперь давайте пропишем все связи и настройки в Sturtup-файле
public void ConfigureServices(IServiceCollection services) { string connection = Configuration.GetConnectionString("DefaultConnection"); services.AddDbContext<ArticleContext>(options => options.UseSqlServer(connection)); services.AddControllersWithViews(); }
Здесь мы указываем, как найти строку подключения для нашего Context`а
Завершение
Установим еще один NuGet-пакет - Microsoft.EntityFrameworkCore.Tools
Теперь проведем миграцию и обновим данные для таблицы. Для этого нам нужно открыть "Консоль диспетчера пакетов" - Вид -> Другие окна -> Консоль диспетчера пакетов
Теперь нужно провести миграцию:
Add-migration Article -Context ArticleContext
- Add-migration - это команда чтобы провести миграцию;
- Article - это имя миграции, оно может быть любое;
- -Context - это аргумент указывающий, что миграцию нужно провести для определенного контекста;
- ArticleContext - имя вашего контекста
На сегодня все, в следующем уроке мы начнем взаимодействовать с БД
Удачи, программисты!