Как установить набор результатов LINQ в качестве источника данных в виде сетки в ASP.NET - PullRequest
1 голос
/ 09 марта 2012

У меня есть приложение ASP.NET Web Forms.Я хотел бы постепенно переместить приложение из веб-форм в MVC.Первый шаг, который я делаю, - это переместить все запросы из кода на слой репозитория.

Для этого я создаю отдельный проект ( библиотека классов ), в который я помещаю LINQ Entity Framework a Класс репозитория и Интерфейс репозитория .Затем на этот проект ссылаются веб-формы ASP.NET.

Методы, предоставляемые интерфейсом, всегда возвращают объект IQueryable<T> (кроме тех, которые возвращают скалярные значения, которые не интересны для этой проблемы).

Как отправить набор результатов в GridView ?Предположим, я реализую в классе Repository:

IQueryable<T> GetAll();

Как сообщить GridView, что мой источник данных GetAll()?Является ли этот код правильным или я должен указать где-нибудь, что DataSource является LinqDataSource ?

 IMyRepository dataRepository = new MyRepository();
 myGridView.DataSource = MyRepository.GetAll().ToList();
 myGridView.DataBind();

Я бросил IQueryable<T> ToList(), поскольку я ожидаю, что DataSource будет IEnumerable<T>

1 Ответ

1 голос
/ 09 марта 2012

Вам не нужно указывать тип источника данных.

Я не уверен, где вы указываете тип универсального объекта T, прежде чем связывать свой список?

...