Asp.net mvc 在ASP.NET MVC3中连接到数据库
我有一个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中执行数据库访问有很多方法。如果这个程序没有为您提供强
我想知道最好的方法是建立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>