0

可能重复:
ASP.NET MVC:调用存储过程的最佳方式

我正在开发 MCV3 应用程序。

我想在应用程序的控制器之一中调用存储过程。

我已经在用于应用程序的数据库中保存了存储过程。

查询是

Create Procedure ConvertLeadToCustomer1
@CompanyID int
as
begin 
update Companies set __Disc__ = 'Customer' where CompanyID = @CompanyID
end

现在,我想将此过程调用到控制器中......

namespace CRMWeb.Controllers
{ 
    public class LeadController : Controller
    {
        private CRMWebContainer db = new CRMWebContainer();

        //
        // GET: /Lead/

        public ViewResult Index()
        {
            //return View(db.Companies.ToList());
            return View(db.Companies.OfType<Lead>().ToList());

        }

           public ActionResult Convert(int id)
        {

            // I want to write code here to call stored procedure...


        }
    }
}

怎么称呼它?

4

1 回答 1

3

在 mvc 中没有什么不同,如果使用 ADO.net,下面的代码调用存储过程:

public ActionResult Convert(int id)
{
    var connection = new SqlConnection("YOUR CONNECTION STRING");

    var command = new SqlCommand("ConvertLeadToCustomer1",connection)
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.AddWithValue("@CompanyID", id);

    connection.Open();

    command.ExcuteNonQuery();

    connection.Close();
}
于 2012-10-15T07:40:42.897 回答