.net 如何从数据库中检索多个查询结果
我正在处理一个基于.net 4和MVC 3的项目,情况很好,只是我对代码改进和效率没有什么疑问,特别是在数据库连接方面,情况是: 我在模型类中有一个函数,它连接到数据库并从中检索信息,由于需求很少,函数必须返回的整体结果必须使用多个查询进行检索,为了实现这一点,我目前正在创建三个sql命令并运行它们,然后逐个填充数据集 但我有一种直觉,这可能不是最好的可用和有效的方式,而且这可能会耗费时间/资源,逐个运行多个查询到数据库,这可能是多余的 所以我想听听你们的专家意见,我做得对吗,还是有更好更快的方法来实现这一点.net 如何从数据库中检索多个查询结果,.net,database,asp.net-mvc-3,.net-4.0,ado.net,.net,Database,Asp.net Mvc 3,.net 4.0,Ado.net,我正在处理一个基于.net 4和MVC 3的项目,情况很好,只是我对代码改进和效率没有什么疑问,特别是在数据库连接方面,情况是: 我在模型类中有一个函数,它连接到数据库并从中检索信息,由于需求很少,函数必须返回的整体结果必须使用多个查询进行检索,为了实现这一点,我目前正在创建三个sql命令并运行它们,然后逐个填充数据集 但我有一种直觉,这可能不是最好的可用和有效的方式,而且这可能会耗费时间/资源,逐个运行多个查询到数据库,这可能是多余的 所以我想听听你们的专家意见,我做得对吗,还是有更好更快的方
public string[] GetData()
{
…
const string cmdString = "Select TOP 3 item.Id FROM design WHERE status=1 ORDER BY submittedOn Desc";
const string cmdString2 = "Select TOP 6 item.Id FROM design WHERE status=1 ORDER BY orders desc;";
const string cmdString3 = "SELECT TOP 9 item.Id FROM design WHERE status=1 ORDER BY NewID()";
…
var conn = new SqlConnection(conString.ConnectionString);
var mySqlDataAdapter = new SqlDataAdapter();
var myDataSet = new DataSet();
int totalRows = 1;
try
{
mySqlDataAdapter = new SqlDataAdapter(cmdString, conn);
mySqlDataAdapter.Fill(myDataSet, "DataTble");
mySqlDataAdapter = new SqlDataAdapter(cmdString2, conn);
mySqlDataAdapter.Fill(myDataSet, "DataTble");
mySqlDataAdapter = new SqlDataAdapter(cmdString3, conn);
mySqlDataAdapter.Fill(myDataSet, "DataTble");
totalRows = myDataSet.Tables["DataTble"].Rows.Count;
status = true;
}
catch (Exception exp)
{
status = false;
totalRows = 0;
}
var dataResults = new string[totalRows];
if (status)
{
//putting the results into an Array() and returning that Array.
}
conn.Dispose();
mySqlDataAdapter.Dispose();
myDataSet.Dispose();
return dataResults;
}
查看ORM:实体框架或nHibernate。这将把您的表映射到您可以使用的对象,您不再需要编写SQL。它也更安全。为什么不在存储过程中使用union呢?