Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在ASP.net MVC中使用存储过程?_Asp.net Mvc_Entity Framework_Asp.net Mvc 4_Ado.net - Fatal编程技术网

Asp.net mvc 在ASP.net MVC中使用存储过程?

Asp.net mvc 在ASP.net MVC中使用存储过程?,asp.net-mvc,entity-framework,asp.net-mvc-4,ado.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,Ado.net,伙计们,我正在尝试学习MVC,我想使用存储过程在MVC框架中执行所有CRUD操作。我在谷歌上搜索过教程和所有内容,但所有教程都使用“代码优先”的方法,并使用实体框架来处理所有数据 如果有人能帮助我了解如何在MVC中使用SP,并提供一些教程或类似内容的链接,我将不胜感激。您总是可以先从数据库中使用代码 在学习实体框架之前,在学习LINQ to SQL之前,请花点时间学习ADO.NET,如果您想调用存储过程,这就是您所需要的。前面提到的技术实际上是建立在ADO.NET之上的,所以很高兴知道它们在做什

伙计们,我正在尝试学习MVC,我想使用存储过程在MVC框架中执行所有CRUD操作。我在谷歌上搜索过教程和所有内容,但所有教程都使用“代码优先”的方法,并使用实体框架来处理所有数据


如果有人能帮助我了解如何在MVC中使用SP,并提供一些教程或类似内容的链接,我将不胜感激。

您总是可以先从数据库中使用代码

在学习实体框架之前,在学习LINQ to SQL之前,请花点时间学习ADO.NET,如果您想调用存储过程,这就是您所需要的。前面提到的技术实际上是建立在ADO.NET之上的,所以很高兴知道它们在做什么。检查其中的内容,可以准确地显示如何从任何.NET应用程序(包括MVC)调用存储过程。

使用这个简单的方法,我能够在MVC应用程序中调用存储过程

public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, SqlParameter[] commandParameters)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        using (SqlCommand command = new SqlCommand())
        {
            command.Connection = connection;
            command.CommandTimeout = 0;
            command.CommandType = commandType;
            command.CommandText = commandText;

            if (commandParameters != null && commandParameters.Length > 0)
                command.Parameters.AddRange(commandParameters);

            return FillData(command, connection);

        }
    }
}

您可以使用LINQ to SQL来满足您的需要,但必须确保将数据访问分开。一些示例可能显示将ADO.Net代码直接放入控制器中。存储库模式是一个很好的第一级抽象,不夸张。然后,如果有人来找你,说你是一个不使用EF的老家伙,他们可以在不重写web应用的情况下替换存储库实现。另见