Это репост из моей статьи, опубликованной в моем блоге: Unit Coding иди и посмотри!

Привет еще раз, я не отстаю от писательской карьеры, надеясь и дальше постоянно писать интересные статьи о языке программирования C#. Сегодня в этой статье я покажу вам, как вы можете подключить любой основной веб-проект asp.net к базе данных SQL Server. Почти любое веб-приложение удовлетворяет потребность в хранении данных и управлении ими, поскольку все в разработке программного обеспечения вращается вокруг идеи наличия данных и поиска для них творческого применения, поэтому крайне важно, чтобы вы знали, как подключиться к базе данных, чтобы обеспечить связь с ней.

Предпосылки 📃

Чтобы следовать этому руководству, вам необходимо установить любую версию SQL server и SQL Server Management Studio, которые, как мы можем сказать, являются графическим интерфейсом для просмотра всех данных и таблиц базы данных. .

Также вам необходимо установить инструменты Entity Framework Core с нашим dotnet cli, чтобы установить его, напишите следующую команду на своем терминале.

dotnet tool install --global dotnet-ef

После этого напишите эту другую команду на своем терминале dotnet ef, и вы должны увидеть вывод, подобный приведенному ниже.

                     _/\\__
               ---==/    \\\\
         ___  ___   |.    \\|\\
        | __|| __|  |  )   \\\\\\
        | _| | _|   \\_/ |  //|\\\\
        |___||_|       /   \\\\\\/\\\\
Entity Framework Core .NET Command-line Tools 2.1.3-rtm-32065
<Usage documentation follows, not shown.>

После этого вы готовы и готовы к работе!

Создайте новый веб-проект 🕸️

В этом примере я буду использовать проект веб-API asp net core, но вы можете использовать этот код для MVC, Razor или минимальных проектов API, поскольку их структура практически одинакова. Итак, создайте новое веб-приложение, используя dotnet cli.

dotnet new webapi -o [Name of your project here]

Код Первый подход 👨🏾‍💻

Я знаю, что пишу эту статью для очень начинающих, но в этом примере я использую этот подход, чтобы убедиться, что мы можем видеть, как данные вставляются в базу данных, поэтому я попытаюсь кратко объяснить, что такое подход «сначала код».

Подход сначала код — это один из трех подходов, которые Entity Framework предоставляет для работы с данными. Этот подход позволяет нам работать с объектами C# вместо работы непосредственно с базой данных или любой другой библиотекой, такой как ADO.NET. Это очень полезно для нас, разработчиков, потому что мы можем продолжать работать с кодом при попытке связи с SQL Server.

Добавьте модель человека 🙍🏾

Мы создадим модель Person, которая будет нашей таблицей на сервере SQL, и мы вставим данные нашего объекта в эту таблицу sql, поэтому код в конечном итоге будет выглядеть следующим образом.

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

Этот класс довольно прост, мы добавляем только классические поля для объекта Person, такие как идентификатор, имя, фамилия и возраст человека. Это было бы все для класса человека.

Установите nuget-пакеты Entity Framework 📦

Как я упоминал ранее, мы будем использовать Entity Framework для связи с базой данных SQL и сопоставления нашего объекта person с таблицей person в SQL. Мы установим три пакета EF, вы можете найти их в диспетчере пакетов nuget в Visual Studio, использовать консоль диспетчера пакетов или, как в нашем случае, установить с помощью dotnet cli.

dotnet add package Microsoft.EntityFrameworkCore.Core

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

dotnet add package Microsoft.EntityFrameworkCore.Tools

Теперь, когда вы установили базовый пакет EF в свой проект, мы приступим к созданию класса AppDbContext.cs.

Создайте класс AppDbContext.cs

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
    {
    }
    protected override void OnModelCreating(ModelBuilder builder)
    {
        builder.Entity<Person>().HasData(
            new Person {Id = 1, Name = "Oscar", LastName = "Montenegro", Age = 28},
            new Person {Id = 2, Name = "Yolanda", LastName = "Montenegro", Age = 27}
        );
        base.OnModelCreating(builder);
    }
    public DbSet<Person> People { get; set; }
}

Во-первых, мы должны создать класс AppDbContext и сделать его наследником класса DbContext, а также создать пустой конструктор, вызывающий базовый конструктор из родительского класса. Затем мы переопределяем функцию OnModelCreating и используем построитель моделей, чтобы сообщить инфраструктуре сущностей, что наша коллекция должна иметь данные на момент создания на SQL, и мы передаем два объекта внутри функции HasData. И последнее, но не менее важное: мы создаем свойство DbSet с именем people, которое является множественным числом для Persons, поскольку это хорошая практика, когда вы создаете таблицу для определенного объекта, чтобы использовать множественное число для этого объекта.

Добавьте строку подключения 🧵

Перейдите к файлу appsettings.json (если он у вас есть, если не создайте его) и добавьте строку подключения к вашему экземпляру сервера sql, как вы можете видеть ниже, но без квадратных скобок:

"ConnectionStrings": {
    "DbConnection": "Server=ServerName;Database=DatabaseName;Trusted_Connection=True;Integrated Security=true;TrustServerCertificate=true"
  }

Сервер: имя вашего сервера можно найти, открыв SQL Server Management Studio на странице подключения, где отображается имя вашего сервера.

База данных: это имя вашей базы данных, но, поскольку это первый подход к коду, существующей базы данных нет, поэтому вы можете дать этой базе данных любое имя, которое вы хотите, и она будет создана с этим именем.

Выполнять команды EF 🪖

Наконец, нам нужно выполнить несколько команд ef для создания базы данных из нашего кода.

dotnet ef migrations add "Initial Migration"

dotnet ef database update

После выполнения этих двух команд вы сможете войти в SSMS (SQL Server Management Studio) и увидеть созданную базу данных, а внутри базы данных должна быть таблица с именем People, и, в свою очередь, внутри этой таблицы у вас есть две записи, которые являются записями мы вошли в наш класс контекста.

Вывод 🌇

Отсюда остальное — чтение этих данных, манипулирование ими и выполнение всего, что вы можете себе представить с помощью C#. Это должно было быть только отправной точкой, но если вы нашли это полезным, пожалуйста, дайте мне знать, чтобы создать еще одну статью о том, как создавать, читать, обновлять и удалять данные (CRUD), чтобы у вас было полнофункциональное приложение, взаимодействующее с SQL Server, а также если вы хотите узнать, как подключиться к PostgreSQL или MySQL, оставьте комментарий ниже, чтобы создать учебник и для этих СУБД.

Как всегда, если вам понравилась эта статья, пожалуйста, следите за мной в моей социальной сети на YouTube и ждите новых статей или проектов на YouTube. Большое спасибо за ваше время и внимание, увидимся позже! 🙋🏾‍♂️