Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать класс оболочку на таблицей БД 
V
    Опции темы
compaq
Дата 6.1.2010, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Есть база данных, в ней есть несколько таблиц, нужно написать класс оболочку с возможностью синхронизации для работы с этими таблица. В каждой таблице содержатся данные за определенный интервал времени, к примеру, час, сутки, неделя а так же данные для конкретного объекта к примеру Иванов, Петров, Сидоров . Задача состоит в том, что код обработки не должен знать, какой временной интервал и какой конкретно оббьет представлен данным классом обёрткой. То есть я в конструкторе своего класса оболочки я передаю временной интервал, и конкретный обьект (к примеру Сидоров с временным интервалом час) он создаёт мне экземпляр класса с нужными мне параметрами и подписывается на синхронизацию данных.
Вопрос вот в чём.
1)Как считать большой оббьем данных из БД при первоначальной инициации.
2)В какой структуре данных их лучше хранить List, DataSet. Нужно представить данные как свойства класса.
PM MAIL   Вверх
mrbrooks
Дата 6.1.2010, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 7
Всего: 306



Цитата(compaq @  6.1.2010,  11:08 Найти цитируемый пост)
1)Как считать большой оббьем данных из БД при первоначальной инициации.

обычно применяют подход называемый Paging.
Цитата(compaq @  6.1.2010,  11:08 Найти цитируемый пост)
2)В какой структуре данных их лучше хранить List, DataSet. Нужно представить данные как свойства класса. 

в данном случае я бы остановился на DataSet

PM MAIL   Вверх
Zakonnic
Дата 6.1.2010, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 25.4.2006

Репутация: 2
Всего: 6



Из описания проблемы лично я ничего не понял. Как считать данные? Селектом, конечно же  smile  Но все таки предположу, что штука, которая вам нужна,называется ORM (Object-relational mapper). Рекомендую простой и удобный BLToolkit, на его сайте есть несколько примеров. Он позволяет получать коллекции объектов вместо таблицы записей, соответственно поля таблицы будут полями (свойствами) класса.
--------------------
...и никогда не пишите в комментариях правду
PM MAIL ICQ   Вверх
compaq
Дата 8.1.2010, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Спасибо за подсказку про ORM я попытался разобраться с  Entitity Framework только я не уверен что с помощью него можно сделать нужные мне вещи.
Попробую перефразировать вопрос. 
К примеру у меня есть четыре таблицы (Table1, Table2, Table3, Table4).
Нужно сделать класс оболочку который бы скрывал эти таблицы и выбранные данные от бизнес логики. То есть вот так 

Код

ClassWrapper wrap = new ClassWrapper (Table1, Ivanov)


wrap инкапсулирует таблицу1 и из таблицы1 берутся данные только по Иванову
Код


ClassWrapper wrap = new ClassWrapper (Table4, Sidorov)


wrap инкапсулирует таблицу4 и из таблицы4 берутся данные только по Сидорову.

На сколько я понял такое сделать в Entitity Framework нельзя? Если я ошибаюсь прошу киньте ссылку или пример как такое можно сделать.

Это сообщение отредактировал(а) compaq - 8.1.2010, 16:59
PM MAIL   Вверх
thomas
Дата 9.1.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 6
Всего: 65



compaq, 
Приветствую.
Из вашей постановки задачи ничего не понял.
Для полноты понимания нужны :
-описания таблиц и данных, которые в них хранятся;
-какие задачи у приложения, что оно должно делать с данными?
тогда можно будут что-то конкретное подсказать.

Можете написать в личку.

А так, на вскидку, могу казать следующее:
- делаем статический класс, который описывает необходимый обьект;
- создаем коллекцию этих классов;
- используем LINQ to Object для поиска нужных обьектов в коллекции.

Класс содержит в себе поля, отражающие свойства обьекта, свойства и статические методы для считыванияданных из БД, их модификации, вставки и удаления.




--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
compaq
Дата 9.1.2010, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Всем спасибо за помощь. Вопрос решён. Буду делать собственный класс оболочку. По тому что EF имхо в моём случае всё же не совсем подходит.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0820 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.