我有一个使用ADO.NET为MVC工作的任务。我们可以使用普通的ADO.NET来做这件事。如果可能的话,可以使用一些有用的链接。
答案 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将其他数据传递给视图,而无需使用类型化模型。这不是问题,但需要更多努力,而不是常规模型。