DataTable而不是Asp.Net MVC中的Entity框架

如何在Asp.Net mvc中使用Datatable而不是Entity框架?

我指的是asp.net网站上的这个教程…. http://www.asp.net/Learn/mvc/tutorial-21-cs.aspx ….我可以返回一个数据表而不是一个电影或电影对象?

只要可以在ViewData中存储(序列化),您就可以返回任何想要的内容。 ASP.NET MVC没有任何关于约束值和/或类型的“魔力”。

如果要在视图中迭代DataTable,将其放在控制器中的ViewData中,在View中检索它,并像在其他任何地方一样迭代它。

DataTable是可序列化的 。

所以类似于以下内容应该有效:

<% var tbl = ViewData["MyDataTable"]; foreach (DataRow row in tbl.Rows) { foreach (DataColumn col in tbl.Columns) { Response.Write(row[col] as string ?? string.Empty); } } %> 

如果我正确理解您的问题,只是因为您使用的是MVC,您不必使用Entity框架与数据库进行通信。

在控制器内部,您可以使用任何想要从数据库中获取数据的方法。 然后,您可以将该数据转换为传递给View的自定义对象,也可以将DataTable传递给视图。

您的视图只需要知道如何遍历传递给它的对象。

但是,我建议使用POCO对象传递到视图,这样就不会将视图数据紧密耦合到用于从数据库中提取信息的技术。