DataTable вместо Entity Framework в Asp.Net MVC - PullRequest
2 голосов
/ 30 августа 2009

Как использовать Datatable вместо Entity Framework в Asp.Net mvc?

Я имею в виду этот урок на сайте asp.net .... http://www.asp.net/Learn/mvc/tutorial-21-cs.aspx .... Могу ли я вернуть объект данных вместо фильма или объекта Movielist ??

Ответы [ 2 ]

5 голосов
/ 30 августа 2009

Вы можете вернуть все, что захотите, при условии, что оно может быть сохранено (сериализовано) в ViewData. В ASP.NET MVC нет ничего «волшебного», что ограничивает значения и / или типы.

Если вы хотите выполнить итерацию по DataTable в представлении, поместите его в ViewData в контроллере, извлеките его в представлении и выполните итерацию по нему, как в любом другом месте.

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);
  }
}
%>
2 голосов
/ 30 августа 2009

Если я правильно понимаю ваш вопрос, просто потому, что вы используете MVC, вам не нужно использовать Entity Framework для связи с базой данных.

Внутри вашего контроллера вы можете использовать любые средства, которые вы хотите получить из базы данных. Затем вы можете либо преобразовать эти данные в пользовательский объект, который вы передаете в представление, либо потенциально можете просто передать DataTable своему представлению.

Ваше мнение просто должно знать, как перебирать объект, который вы ему передаете.

Тем не менее, я рекомендую использовать объекты POCO для передачи в ваше представление, чтобы вы не связывали данные своего представления с технологией, используемой для извлечения информации из базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...