![]() |
|
Модераторы: gambit |
![]()
|
|
| shmarov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 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") - не обновляет данные, хотя в профайлер нужный запрос приходит.... Ступор в общем. Подкиньте свежую мысль пожалуйста, а то у меня уже глаза замылены... Спасибо |
|||
|
||||
| shmarov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 15.6.2007 Где: 1001101 region Репутация: нет Всего: 1 |
читая форум понял что возможно будет важна еще одна деталь - я использую статичный экземпляр контекста. Может быть отсюда уши растут? Статичным сделал его исключительно из-за лени, чтобы не создавать постоянно)
|
|||
|
||||
| shmarov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |