Отображение данных в DataGrid при помощи LINQ и WCF в Silverlight

ОГЛАВЛЕНИЕ

Данная статья рассмотрит осуществление доступа к SQL-данным при помощи создания веб-сервиса (Web Service) и затем, используя LINQ для того, чтобы создать источник данных к которому вы можете осуществить привязку. Элементом управления к которому мы осуществим привязку данных будет DataGrid.

Навыки

При создании приложения вам необходимо обладать некоторыми навыками:

  • Осуществление соединения к веб-сервису WCF
  • Использование LINQ для осуществления запроса и получения информации, которую может использовать приложение Silverlight
  • Использование элемента управления DataGrid для отображения информации

Со стороны Silverlight, построение веб-сервиса и использование LINQ являются связанными между собой навыками, но их изучение выходит за рамки данной статьи. Мы рассмотрим их взаимодействие с Silverlight.

Ознакомление

Для начала создайте проект с названием SQLData, но убедитесь, что вы выбрали опцию Web Application Project (Проект веб-приложения) , так как мы хотим иметь как проект Silverlight , так и проект сервера, где сможем создать веб-сервис WCF (для осуществления соединения к базе данных.

 

Рис. 3-1. Создание проекта веб-приложения (Web Application Project)

Исследование двух проектов

Visual Studio 2008 создаст два проекта в одном.

 

Рис. 3-2. Два проекта в одном

Общий и первый проект названы SQLData. Первый проект является приложением Silverlight.

Второй проект - SQLData_Web, создан в качестве тестового окружения для приложения Silverlight, и он имеет четыре потенциальных точки входа:

  • Default.aspx
  • Silverlight.js
  • SQLDataTestPage.aspx
  • SQLDataTestPage.html

SQLDataTestPage.aspx в частности создан для тестирования элементов управления Silverlight и бегло взглянув можно заметить, что он включает в себя AJAX ScriptManager и элемент управления ASP:Silverlight , источником управления которого является файл .xap , который будет создан проектом Silverlight:

<form id="form1" runat="server" style="height:100%;">
   <asp:ScriptManager ID="ScriptManager1" runat="server"/>
</form>