我正在使用 MVC 3 开发一个 Web 应用程序。此应用程序通过 ASMX Web 服务连接到 SQL Server 数据库。每个 Web 方法调用一个存储过程并返回一个 DataTable。
这是我用来调用存储过程的代码:
public static DataTable ExecSP(string StoredProcedureName, List<string> ParameterNames, List<Object> ParameterValues)
{
SqlConnection Connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString);
SqlDataReader Reader = null;
DataTable SPResult = null;
try
{
Connection.Open();
SqlCommand Command = new SqlCommand("dbo." + StoredProcedureName, Connection);
Command.CommandType = CommandType.StoredProcedure;
if (ParameterNames != null)
{
for (int i = 0; i < ParameterNames.Count; i++)
{
SqlParameter Parameter = new SqlParameter(ParameterNames[i], ParameterValues[i]);
if (Parameter.SqlDbType.Equals(SqlDbType.NVarChar))
{
Parameter.SqlDbType = SqlDbType.VarChar;
}
if (Parameter.SqlValue == null)
{
Parameter.SqlValue = DBNull.Value;
}
Command.Parameters.Add(Parameter);
}
}
Reader = Command.ExecuteReader();
SPResult = new DataTable();
SPResult.Load(Reader);
}
catch (Exception ex)
{
throw;
}
finally
{
Connection.Close();
if (Reader != null)
{
Reader.Close();
}
}
return SPResult;
}
我想知道是否有一种直接的方法可以将此 DataTable 转换为模型,然后可以将其传递给视图(例如,在 AJAX 帖子中发生的模型绑定),如果没有t,有什么选择。我知道使用 LINQ 可能会解决这个问题,但我不能使用它。
提前致谢。
此致。