Blazor — это мощная платформа для создания веб-приложений с использованием.NET и C#. Одним из общих требований многих приложений является необходимость взаимодействия с базами данных и выполнения хранимых процедур. В этой статье мы углубимся в различные методы вызова хранимых процедур в Blazor, попутно предоставляя разговорные объяснения и примеры кода. Итак, начнем!
Метод 1: использование Entity Framework Core
Entity Framework Core (EF Core) — это популярный инструмент объектно-реляционного сопоставления (ORM), который упрощает операции с базой данных в Blazor. Чтобы вызвать хранимую процедуру с помощью EF Core, выполните следующие действия:
Шаг 1. Установите необходимые пакеты NuGet:
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Шаг 2. Создайте класс DbContext:
public class AppDbContext : DbContext
{
// DbSet and other properties
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// Configure the database connection
optionsBuilder.UseSqlServer("your_connection_string");
}
}
Шаг 3. Определите класс модели для результата хранимой процедуры:
public class ProcedureResult
{
// Properties matching the result columns
}
Шаг 4. Вызов хранимой процедуры:
using (var dbContext = new AppDbContext())
{
var result = dbContext.ProcedureResults.FromSqlRaw("EXEC YourStoredProcedure @param1, @param2",
new SqlParameter("@param1", value1),
new SqlParameter("@param2", value2)).ToList();
}
Метод 2: использование Dapper
Dapper — это легкий и высокопроизводительный микро-ORM, который также поддерживает выполнение хранимых процедур. Вот как вы можете использовать Dapper для вызова хранимой процедуры в Blazor:
Шаг 1. Установите пакет Dapper NuGet:
dotnet add package Dapper
Шаг 2. Вызов хранимой процедуры:
using (var connection = new SqlConnection("your_connection_string"))
{
var result = connection.Query<ProcedureResult>("YourStoredProcedure",
new { param1 = value1, param2 = value2 },
commandType: CommandType.StoredProcedure).ToList();
}
Метод 3: использование необработанного ADO.NET
Если вы предпочитаете работать с необработанным ADO.NET, вы все равно можете вызывать хранимые процедуры в Blazor. Вот пример:
Шаг 1. Создайте объект SqlCommand:
using (var connection = new SqlConnection("your_connection_string"))
{
using (var command = new SqlCommand("YourStoredProcedure", connection))
{
command.CommandType = CommandType.StoredProcedure;
// Add parameters if necessary
command.Parameters.AddWithValue("@param1", value1);
command.Parameters.AddWithValue("@param2", value2);
// Execute the command
connection.Open();
var reader = command.ExecuteReader();
// Process the result
while (reader.Read())
{
// Read the result data
}
}
}
В этой статье мы рассмотрели три различных метода вызова хранимых процедур в Blazor. Используя Entity Framework Core, Dapper или необработанный ADO.NET, вы можете взаимодействовать с базами данных и выполнять хранимые процедуры в соответствии с вашими предпочтениями и требованиями проекта. Не забудьте выбрать метод, который лучше всего соответствует потребностям вашего приложения.