![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
В моем WPF приложении необходимо использовать базу данных. Поскольку в ней будет хранится не много данных, то использовать для этих целей отдельную БД не имеет смысла.
Подскажите как в таком случае лучше хранить данные? Я планирую работать с данными через датасет, который потом сериализовать в XML, но может это не оптимальный вариант. Второй вопрос. Как лучше в WPF отобразить данные БД? Насколько я понял, проще всего в ItemsControl'е (или производных от него), написать шаблоны данных и селектор шаблонов (стилей)? |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
DataGrid - не вариант?
-------------------- СУВ, Partizan. |
|||
|
||||
DenWPF |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
я так и не понял откуда ты БД берешь, если ХМЛ то проще template.
|
|||
|
||||
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Может и вариант. Имеется в виду этот? Не очень хочется качать либы, а в списках стандартных классов не нахожу. Нужно попробывать.
Вот именно по поводу этого мне и нужен совет. Не хочу использовать отдельные приложения, планирую либо в xml, либо программно создавать датасет и сериализировать его. Как лучше всего поступить, если достаточно нескольких таблиц (а может даже и одной) и ко-во записей врядли будет больше чем пару десятков? |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Anyone, в 10-й студии он уже есть искаропки...
Конечно лучше XML...тем более можно набросать XSD схему и сгенерить классы для маппинга -------------------- СУВ, Partizan. |
|||
|
||||
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
||||
|
||||
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
||||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
-------------------- СУВ, Partizan. |
|||
|
||||
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
MSDN гласит:
Но мой тулбокс пустой, что я делаю не так? А вообще, я так понял, проще всего будет сгенерировать схему используя xml файл. А по поводу этого можно подробней, мне ничего не понятно из того что я нашел, что мне вообще дает эта схема, если xml-файл я формирую программно (имею в виду, что я уверен в том что структура правильная)? |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
по XML схеме утилиткой xsd.exe можно сгенерить cs файлы с классами, соответствующими схеме, которые обычно можно сериализовать/десериалозовать XmlSerializer-ом.
-------------------- СУВ, Partizan. |
|||
|
||||
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Я правильно понял, что этот класс служит именно для того чтоб можно было выполнять сериализацию\десериализацию xml-документа? Но, к примеру, выборку гораздо проще выполнить с помощью LINQ to XML, чем с помощью методов класса, не совсем понимаю что мне он дает.
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 9 Всего: 67 |
Ну собственно говоря, тут выбирать Вам - что удобнее под задачу, то и нужно использовать...
При указанных количествах данных XML вполне себе подойдёт...а как с ним работать - выбирайте наиболее удобный вариант...я лишь предложил один из них. -------------------- СУВ, Partizan. |
|||
|
||||
Anyone |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Ясно, спасибо, этот вариант с классом мне не очень нравится, но буду иметь в виду что такое существует. Это сообщение отредактировал(а) Anyone - 19.11.2009, 17:10 |
|||
|
||||
Anyone |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 218 Регистрация: 1.6.2008 Репутация: нет Всего: нет |
Я сделал так:
1. Создал класс Variable со свойствами - колонками таблицы 2. Создал класс VariablesCollection: System.Collections.ObjectModel.ObservableCollection<Variable>, который служит источником для таблицы (DataGrid) 3. Сериализация коллекции:
4. Десериализация коллекции:
Все отлично работает при использовании небольшого ко-ва элементов коллекции (не более 1000), но мне очень не нравятся мои функции сериализации\десериализации, можно их переписать так, чтобы увеличилось быстродействие? Это сообщение отредактировал(а) Anyone - 20.11.2009, 22:07 |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |