在.NET Core中如何使用存储过程

   2024-09-30 7470
核心提示:在.NET Core中,你可以使用ADO.NET或者Entity Framework Core来执行存储过程使用ADO.NET执行存储过程:首先,确保已经安装了Syst

在.NET Core中,你可以使用ADO.NET或者Entity Framework Core来执行存储过程

使用ADO.NET执行存储过程:

首先,确保已经安装了System.Data.SqlClient包。然后,按照以下步骤操作:

using System;using System.Data;using System.Data.SqlClient;namespace ConsoleApp{    class Program    {        static void Main(string[] args)        {            string connectionString = "your_connection_string";            using (SqlConnection connection = new SqlConnection(connectionString))            {                connection.Open();                using (SqlCommand command = new SqlCommand("your_stored_procedure_name", connection))                {                    command.CommandType = CommandType.StoredProcedure;                    // 添加参数                    command.Parameters.AddWithValue("@param1", "value1");                    command.Parameters.AddWithValue("@param2", "value2");                    // 执行存储过程                    using (SqlDataReader reader = command.ExecuteReader())                    {                        while (reader.Read())                        {                            // 处理结果集                            Console.WriteLine($"Column1: {reader["Column1"]}, Column2: {reader["Column2"]}");                        }                    }                }            }        }    }}
使用Entity Framework Core执行存储过程:

首先,确保已经安装了Microsoft.EntityFrameworkCore和Microsoft.EntityFrameworkCore.SqlServer包。然后,按照以下步骤操作:

a. 在DbContext类中添加一个DbSet属性,用于表示存储过程返回的实体类型:

public DbSet<YourEntity> YourEntities { get; set; }

b. 在DbContext类中添加一个方法,用于执行存储过程:

public async Task<List<YourEntity>> ExecuteStoredProcedureAsync(string storedProcedureName, params SqlParameter[] parameters){    var result = await YourEntities        .FromSqlRaw($"EXEC {storedProcedureName} @param1, @param2", parameters)        .ToListAsync();    return result;}

c. 在需要执行存储过程的地方调用这个方法:

using System.Threading.Tasks;using Microsoft.Data.SqlClient;// ...string storedProcedureName = "your_stored_procedure_name";var param1 = new SqlParameter("@param1", "value1");var param2 = new SqlParameter("@param2", "value2");var result = await _context.ExecuteStoredProcedureAsync(storedProcedureName, param1, param2);

这样,你就可以在.NET Core中使用存储过程了。注意根据实际情况修改代码中的连接字符串、存储过程名称、参数等。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号