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 を使用するとおそらくこの問題が解決することはわかっていますが、使用できません。
前もって感謝します。
よろしくお願いします。