Отладка Silverlight RIA DomainService для генерации кода DomainContext

Я использую Silverlight 4 в Visual Studio 2010.

У меня есть несколько доменных служб в проекте, на которые ссылаются через RIA.

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

Когда происходит генерация кода для проекта клиента Silverlight, я обнаруживаю, что иногда доменные контексты для моих доменных служб создаются, а иногда нет после некоторых изменений моего кода. Аналогично, вспомогательные POCO иногда создаются, а иногда нет.

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

Есть ли способ отладить этот процесс или получить журнал действий, происходящих, когда Visual Studio создает классы DomainContext и Silverlight для POCO? По крайней мере; есть ли набор правил, которые могут помочь мне лучше понять, что происходит под обложкой?


person Sheldon Warkentin    schedule 06.04.2011    source источник
comment
Много ли вы делаете с хранимыми процессами и сложными типами? Какие примеры не работают?   -  person Derek Beattie    schedule 06.04.2011
comment
У меня был простой объект: SimpleSelection с двумя свойствами. Идентификатор (int) и имя (string). Они не генерировались, пока я не удалил конструктор, который включал оба этих свойства!!   -  person Sheldon Warkentin    schedule 06.04.2011
comment
Вы пометили идентификатор атрибутом [Key]?   -  person Derek Beattie    schedule 06.04.2011
comment
@Derek Мой комментарий точно. Каждый класс, который вы хотите перенести, должен идентифицироваться уникальным значением, отмеченным [Ключ]. Для случаев, когда это не важно, я просто добавляю ключ с GUID, сгенерированным для свойства.   -  person Keith Adler    schedule 06.04.2011
comment
Атрибут [Key] я не добавлял, и после удаления конструктора с параметрами он вроде нормально работает. Это могло быть изменением в сервисах RIA SP1 (хотя я не уверен).   -  person Sheldon Warkentin    schedule 07.04.2011


Ответы (2)


Вы должны увидеть много подробных выходных данных при сборке в Visual Studio 2010, если для параметра «Подробность вывода сборки проекта MSBuild» установлено значение «Диагностика»:

Tools > Options... > Projects and Solutions > Build and Run
    MSBuild project build output verbosity: Diagnostic

IIRC вы видите, что инструментарий RIA выводит, но он не говорит вам, что он пропускает и почему.

person Ed Chapel    schedule 06.04.2011

Проверьте это, оно имеет дело с sprocs и сложными типами, но дать вам представление о том, что вам нужно сделать, чтобы вернуть пользовательские poco.

person Derek Beattie    schedule 06.04.2011