我们怎样才能用ADO.NET做MVC?

时间:2012-10-25 13:20:12

标签: asp.net-mvc

我有一个使用ADO.NET为MVC工作的任务。我们可以使用普通的ADO.NET来做这件事。如果可能的话,可以使用一些有用的链接。

1 个答案:

答案 0 :(得分:1)

首先,如果没有使用某种类型的容器来处理像DataSet这样的数据,那么raw ADO.NET是不可能的。

原因是从动作方法提供模型,从内部视图查询此模型具有不同的范围。退出操作方法后查看访问模型。请考虑以下代码示例:

public ActionResult SomeAdoNetAccess(int id, string name) 
{
   ...
   using(var command = CreateSampleCommand()) 
   {
      command.Parameters["@Id"].Value = id;
      ..
      using(var reader = command.ExecuteReader())
      {
            return View(reader);
      }
   } 
}

当视图尝试访问阅读器时,阅读器已经处理完毕。所以需要某种容器。

对于其他内容,您可以将命令参数值作为操作参数传递,并使用ViewState将其他数据传递给视图,而无需使用类型化模型。这不是问题,但需要更多努力,而不是常规模型。