Создание приложения с локальной базой данных для Windows Phone Mango
В последнее время я работал над новым приложением, списком задач (я знаю, ничего инновационного здесь -_-), но потом я прекратил работу до выхода Mango, по очень веской причине, что с Mango я могу иметь локальную базу данных для хранения и управлять структурированными данными моего приложения! Хлопать в ладоши! Хлопать в ладоши!
Одной из многих новых функций, поставляемых с Windows Phone Mango, является возможность иметь локальные базы данных — базы данных Microsoft SQL Server Compact edition (SQL CE) — для ваших приложений.
База данных находится в изолированном хранилище приложения в виде файла.
Если вы не знакомы с изолированным хранилищем, я настоятельно рекомендую вам прочитать статьи «Все о изолированном хранилище WP7» на веб-сайте WindowsPhone Geek .
Чтобы хранить и извлекать данные в локальной базе данных, приложение Windows Phone должно использовать LINQ to SQL.
« LINQ to SQL обеспечивает объектно-ориентированный подход к работе с данными и включает в себя объектную модель и среду выполнения. Объектная модель LINQ to SQL состоит в основном из объекта System.Data.Linq.DataContext, который действует как прокси для локальная база данных. Среда выполнения LINQ to SQL отвечает за соединение мира объектов (объекта DataContext) с миром данных (локальной базой данных). Эти отношения суммированы на следующем изображении ». MSDN
Еще одна вещь, которую нужно объяснить, — это контекст данных. Контекст данных — это объектная модель, которая представляет базу данных, каждый объект представляет собой набор объектов, использующих «простой старый объект CLR» (POCO) с атрибутами.
Мое приложение ToDo выглядит так:
Как видите, моя главная страница представляет собой панораму, содержащую:
Создание локальной базы данных для Windows Phone
Дополнительные материалы к занятию можно скачать здесь.
Вложенные папки: LocalDataBaseSample
В новой версии операционной системы Windows Phone OS 7.1 появилась возможность хранить информацию в реляционных базах данных, которая выступает в роли изолированного контейнера приложения. Для работы с базами данных приложения Windows Phone используют операторы LINQ to SQL . С помощью LINQ to SQL можно задать схему базы данных , осуществлять извлечение данных , а также сохранять изменения в файле базы данных .
На рис. 33.1 показана связь между приложением и изолированным хранилищем. Для связи с хранилищем в приложении создается объект DataContext.
Перед началом работы с локальной базой данных нужно учесть следующее.
LINQ to SQL используется в качестве ORM engine | ||||||||||||||||||||||||||||||
Файл базы данных хранится в изолированном хранилище | ||||||||||||||||||||||||||||||
Для извлечения данных используется LINQ, T-SQL не подходит | ||||||||||||||||||||||||||||||
Локальная база данных в Windows Phone Mango не увеличивает объем приложения, так как является частью универсальной исполняющей машины | ||||||||||||||||||||||||||||||
К проекту нужно добавить ссылку на сборку System.Data.Linq | ||||||||||||||||||||||||||||||
При написании строки подключения используется специфический формат, подобный: В данной работе мы создадим базу данных, в главной таблице которой будут храниться классы позвоночных животных, а в подчиненной таблице — виды. За основу мы взяли пример, описанный на сайте Microsoft (http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx), и немного его переработали. Для работы нам потребуется новая сборка Microsoft.Phone.Controls.Toolkit.dll. Ее можно скачать по адресу: http://silverlight.codeplex.com/releases/view/60291. После инсталляции файла SilverlightforWindowsPhoneToolkit-Feb2011.msi можно узнать местонахождения файла Microsoft.Phone.Controls.Toolkit.dll следующим образом. Выполните следующую последовательность действий: Пуск -> Все программы -> Microsoft Silverlight for Windows Phone Toolkit -> Binaries. Эта сборка содержит следующие полезные компоненты:
Нам потребуется элемент управления ListPicker. Для успешной разработки приложения нужно скачать и установить Windows Phone SDK 7.1 Beta 2 по адресу http://create.msdn.com/en-us/home/getting_started. В Visual Studio создаем новое приложение Silverlight for Windows Phone . Назовем его LocalDataBaseSample. В пункте Target Windows Phone Version выберите Windows Phone 7.1. Скопируйте файл Microsoft.Phone.Controls.Toolkit.dll, описанный выше в папку вашего проекта, например, в папку …\LocalDatabaseSample\LocalDatabaseSample\Bin\Debug. Подключите сборку к проекту, выполнив следующие действия: Solution Explorer -> References -> Add Reference -> Path… -> Microsoft.Phone.Controls.Toolkit.dll. Далее, нам потребуется подключить к проекту ссылку на сборку System . Data . Linq : Solution Explorer -> References -> Add Reference -> .Net -> System.Data.Linq -> OK. Для нашего приложения необходимы четыре иконки: appbar. add .rest.png, appbar. cancel .rest.png, appbar. check .rest.png, appbar. delete .rest.png, расположенные по адресу: C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons\dark (64-х разрядные операционные системы) C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Icons\dark (32-х разрядные операционные системы) Создайте папку Images (Solution Explorer -> Add -> Create Folder -> Images), скопируйте туда иконки и добавьте к проекту (Solution Explorer -> Images -> Add -> Existent Item). Создание локальной базы данных для Windows PhoneДополнительные материалы к занятию можно скачать здесь. Вложенные папки: LocalDataBaseSample В новой версии операционной системы Windows Phone OS 7.1 появилась возможность хранить информацию в реляционных базах данных, которая выступает в роли изолированного контейнера приложения. Для работы с базами данных приложения Windows Phone используют операторы LINQ to SQL . С помощью LINQ to SQL можно задать схему базы данных , осуществлять извлечение данных , а также сохранять изменения в файле базы данных . На рис. 33.1 показана связь между приложением и изолированным хранилищем. Для связи с хранилищем в приложении создается объект DataContext. Перед началом работы с локальной базой данных нужно учесть следующее.
|