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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Догрузка данных из ado.net data service по запросу 
:(
    Опции темы
shmarov
Дата 13.8.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

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



Доброго времени суток

Помогите разобраться в проблемке.
Сделал я сервис ado.net data service (.net 4.0), получил на клиенте модель. Что есть в модели:
1. список проектов Projects. 
2. список пользователей Users (пользователи могут работать на разных проектах).
3. была еще Junction-таблица, связывающая Projects и Users ключами IDUser, IDProject (многие-ко-многим), которую сервис любезно прилепил к Projects и Users.

Так вот, получил я от сервиса список проектов (без пользователей), чтобы побыстрее, да и вообще могут они не понадобиться, отобразил данные, но вот понадобилось показать другую форму, в которой как раз этих пользователей и нужно отобразить - и тут я сажусь в лужу =)

сервис мне описание модели создать-то создал, и есть там эта подчиненная коллекция Users у проектов, да вот только как её заполнить что-то ума не приложу. Expand на первом шаге загрузки (при запросе проектов) не годится. Пробовал перегрузить описание выбранного проекта с Expand("Users") - не обновляет данные, хотя в профайлер нужный запрос приходит.... Ступор в общем. Подкиньте свежую мысль пожалуйста, а то у меня уже глаза замылены...

Спасибо
PM MAIL   Вверх
shmarov
Дата 13.8.2010, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

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



читая форум понял что возможно будет важна еще одна деталь - я использую статичный экземпляр контекста. Может быть отсюда уши растут? Статичным сделал его исключительно из-за лени, чтобы не создавать постоянно)
PM MAIL   Вверх
shmarov
Дата 14.8.2010, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

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



В общем, проблему обошел (не решил)
Создаю теперь для каждой коллекции свой контекст.
При первой загрузке коллекции проектов работаю с соответствующим ей контекстом, а при необходимости детализировать юзеров - в новом контексте запрашиваю тот же объект проектов, но с уже соответствующим расширением .Expand("Users") и заполняю коллекцию пользователей для основного объекта перебором.

Не очень нравится такое решение. 
Нашел еще управление кешированием, может быть в нем дело, нужно будет изучить как будет время.

context.MergeOption = System.Data.Services.Client.MergeOption.OverwriteChanges;

upd. и по прежнему актуален вопрос, как дозапросить данные, связанные junction-таблицей

Это сообщение отредактировал(а) shmarov - 14.8.2010, 16:03
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




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


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

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