Asp.net mvc 在ASP.NET MVC3中连接到数据库

Asp.net mvc 在ASP.NET MVC3中连接到数据库,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我有一个mvc3应用程序,它有自己的数据库。但是我的站点需要从另一个使用自己数据库的程序中获取数据,我还需要运行位于该数据库中的存储过程。 我想知道最好的方法是建立sql连接并运行存储过程并查询这些数据,或者在mvc3中有更好的方法来处理这个问题?在.NET中有很多方法可以执行数据库访问。如果这个程序没有为您提供强类型API来查询数据库,您可以使用纯ADO.NET(其中包括允许您使用的)或ORM,如Entity Framework 在.NET中执行数据库访问有很多方法。如果这个程序没有为您提供强

我有一个mvc3应用程序,它有自己的数据库。但是我的站点需要从另一个使用自己数据库的程序中获取数据,我还需要运行位于该数据库中的存储过程。

我想知道最好的方法是建立sql连接并运行存储过程并查询这些数据,或者在mvc3中有更好的方法来处理这个问题?

在.NET中有很多方法可以执行数据库访问。如果这个程序没有为您提供强类型API来查询数据库,您可以使用纯ADO.NET(其中包括允许您使用的)或ORM,如Entity Framework

在.NET中执行数据库访问有很多方法。如果这个程序没有为您提供强类型API来查询数据库,您可以使用纯ADO.NET(其中包括允许您使用的)或ORM,如Entity Framework

在ASP.NET MVC中,您应该将数据访问代码放在模型中(即不在视图或控制器中),但除此之外,您可以使用任何您熟悉的数据访问技术。

在ASP.NET MVC中,您应该将数据访问代码放在模型中(即不在视图或控制器中)但除此之外,您可以使用任何您熟悉的数据访问技术。

正如Darin所说,在.NET中执行数据库访问有很多方法。下面是我使用SqlConnection和SqlCommand的示例。当然,这是假设您连接到SQL数据库

using (SqlConnection con = new SqlConnection(Global.GetConnectionString()))
            {
                con.Open();
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandText = @"SELECT [ID],[suburb],[state],[postcode],[country],[latitude],[longitude]
                                      FROM [suburbGeocodes]
                                     WHERE ID = @ID";
                    //include the ID in the command to make the Load() generic

                    cmd.Parameters.Add(new SqlParameter("@ID", id));

                    using (SqlDataReader drd = cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult))
                    {
                        if (drd.Read())
                        {
                            this.Load(drd);
                        }
                    }
                }
            }
连接字符串位于Web.config文件中。我只是用我创建的一个全局对象来形成它。它可以从Web.config文件中读取,如下所示

ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        }
web.config文件中的连接字符串是

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=datasource;Initial Catalog=databasename;Persist Security Info=True;User ID=user;Password=password" providerName="System.Data.SqlClient" />
  </connectionStrings>

正如Darin所说,在.NET中执行数据库访问有很多方法。下面是我使用SqlConnection和SqlCommand的示例。当然,这是假设您连接到SQL数据库

using (SqlConnection con = new SqlConnection(Global.GetConnectionString()))
            {
                con.Open();
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandText = @"SELECT [ID],[suburb],[state],[postcode],[country],[latitude],[longitude]
                                      FROM [suburbGeocodes]
                                     WHERE ID = @ID";
                    //include the ID in the command to make the Load() generic

                    cmd.Parameters.Add(new SqlParameter("@ID", id));

                    using (SqlDataReader drd = cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult))
                    {
                        if (drd.Read())
                        {
                            this.Load(drd);
                        }
                    }
                }
            }
连接字符串位于Web.config文件中。我只是用我创建的一个全局对象来形成它。它可以从Web.config文件中读取,如下所示

ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        }
web.config文件中的连接字符串是

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=datasource;Initial Catalog=databasename;Persist Security Info=True;User ID=user;Password=password" providerName="System.Data.SqlClient" />
  </connectionStrings>