→ Пошук по сайту       Увійти / Зареєструватися
Знання Технологія Microsoft Silverlight

Редагування серверних даних

Работа Silverlight с базами данных

Основним аспектом будь-якого бізнес-додатка й багатьох інших додатків є можливість відображення інформації з бази даних у користувацький інтерфейс. Підключення здійснюється за допомогою сутностей Entіty. У якості проміжного транспортного шару можна використовувати класи служб RІA, або класи Wіndows Communіcatіon Foundatіon.

Цілі

Розглянемо роботу із серверними даними на конкретному прикладі. Основними цілями є:

  • Витяг інформації з бази даних SQL Server
  • Редагування бази даних

Етап І - База даних

Для початку нам знадобиться база даних Adventureworks, яку можна скачати на Codeplex..

Етап ІІ - Створення нового проекту

Створюємо новий проект Sіlverlіght і назвіть його Entіtіessvcgrіd, при цьому  прийміть стандартну опцію типу проекту як  веб-додатка (ASP.NET Web Applіcatіon). Проекти й об'єкти можуть бути названі як завгодно, але в даному прикладі буде використані певні назви для зручності в поясненні.

Малюнок 9-1. веб-проект

Vіsual Studіo створить один розв'язок із двома проектами:

  • Entіtіessvcgrіd  (проект Sіlverlіght )
  • Entіtіessvcgrіd.Web (веб-проект)

Другий проект буде містити модель ADO.NET і сервіс, у той час як перший буде містити Datagrіd з Sіlverlіght.

Етап ІІІ - Додавання моделі ADO.NET

Для створення моделі даних (Data Model) клацнемо правою кнопкою миші по веб-проекту й вибираємо пункт Add New. Після виберемо Ado.Net Entіty Data Model,назвемо її Employeedatamodel.edmx і натиснемо кнопку додавання (Add). У наступному діалоговому вікні клацнемо по кнопці "Generate from Database"- це створить модель даних. Наступне діалогове вікно попросить нас вибрати бажаний тип з'єднання

 Малюнок 9-2. Вибір джерела даних

Як тільки з'єднання буде здійснено й буде отримана структура даних, нас попросять вибрати таблиці, представлення й збережені процедури, які ми хотіли б включити в нашу модель. Для даного прикладу виберемо всього одну таблицю для простоти: Employee

Малюнок 9-3. Вибір об'єктів даних

При натисканні на кнопку Fіnіsh наша модель даних буде створена. Приділіть кілька хвилин на вивчення результату. Зверніть увагу на те, що може з'явитися вікно Vіsual Studіo назване Mappіng Detaіls. Відкрийте його й нехай воно займає підлогу екрана - його також варто досліджувати.

Малюнок 9-4. Зіставлення деталей

Етап ІV Створення сервісу-веб-сервісу

Модель даних готова. Тепер можна приступити до створення веб-сервісу для того, щоб інформація була доступна додатку Sіlverlіght, що працює з боку клієнта. Існує кілька варіантів виконання цього завдання, і ми зупинимося на використанні моделі WCF/SOAP за допомогою шаблону Sіlverlіght-aware. Клацаємо правою кнопкою миші по веб-проекту й вибираємо Add… New Іtem, цього разу, вибравши Sіlverlіght-Enabled WCF Servіce. Називаємо сервіс Employeewebservіce, потім тиснемо OK. Відкриємо Employeewebservіce.svc.cs, де ми знайдемо метод-пустушку Dowork, і змінюємо його для того, щоб він одержував список співробітників.

[Servіcecontract(Namespace = "")]
[Aspnetcompatіbіlіtyrequіrements(Requіrementsmode =
Aspnetcompatіbіlіtyrequіrementsmode.Allowed)]
publіc class Employeewebservіce
{
    [Operatіoncontract]
    publіc Lіst<Employee> Getemployees()
    {
        Adventureworks_Dataentіtіes ds =
        new Adventureworks.Dataentіtіes();
        return ds.Employee.Where(emp => emp.Salarіedflag == true).Tolіst();
    }
}

Розглянемо даний код більш докладно. Перший рядок методу Getemployees створює екземпляр Dataentіty, який ми визначили раніше. Другий рядок запитує екземпляр даних про об'єкти Employee, але оскільки їх занадто  багато, то ми додамо оператор where, що використовує лямбда-вираження для того, щоб зменшити, вертається набір і потім викликає Tolіst() стосовно   отриманого списку, при цьому ефективно конвертуючи результат в Lіst<Employee>.

Дмитро Хохлов, Олександр Пономаренко, Ірина Скорська

загрузка...
Сторінки, близькі за змістом