Разрешение связанных объектов в SL4 RIA - PullRequest
0 голосов
/ 23 января 2010

Создав стандартное бизнес-приложение Silverlight в VS2010 и настроив модель из базы данных SQL Server, я имею различные сущности и ассоциации, среди которых AssetGroup и Asset находятся в отношении 1: m.

Предположительно, я могу использовать точечную запись, чтобы получить связанную группу активов из экземпляра актива. Я уверен, что благодаря современным чудесам отложенного выполнения и отложенной загрузки мои данные будут доставлены в тот самый момент, когда они мне понадобятся.

Но это не работает.

Какие необходимы заклинания, и нужно ли мне убивать курицу или козу?

Это выглядит многообещающе. Как только я попробую, я обновлю.

1 Ответ

0 голосов
/ 02 февраля 2010

В вопросе я упоминаю пост в блоге, содержащий возможное решение. Это решение работает, но влечет за собой изменения в сгенерированном коде, который, очевидно, столь же хрупок, как и решение.

Вот надежный способ применить решение: изменить генератор кода.

  1. На панели конструктора EDMX щелкните правой кнопкой мыши контекстное меню и выберите Добавить элементы генерации кода ...
  2. Попробуйте улучшить "Model1.tt" в качестве имени и сохраните файл TT.
  3. Открыть файл TT.
  4. Выполните поиск «return (»), чтобы непосредственно найти шаблон метода, который нужно изменить.
  5. Редактировать, как показано.
  6. Перестройте решение.

Изменить это

return /* big hairy expression */;

к этому

var entity = /* big hairy expression */;
if (!entity.IsLoaded) entity.Load();
return entity;
...