Другие ответы на этот вопрос уже упомянули Свойства проекта-> Сборка-> установка Generate Serialization Assemblies , но по умолчанию это только генерирует блок, если будет" типы прокси веб-сервиса XML " в проекте.
лучший способ понять точное поведение Visual Studio состоит в том, чтобы быть исследовать цель GenerateSerializationAssemblies в C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 ** Microsoft. Common.targets ** файл.
можно проверить результат этой задачи сборки из окна Visual Studio Output и выбора Сборка от Выставочный вывод от [1 114]: выпадающее поле. Необходимо видеть что-то вроде
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin\sgen.exe/assembly:D:\Temp\LibraryA\obj\Debug\LibraryA.dll / proxytypes/reference:../compiler:/delaysign-LibraryA-> D:\Temp\LibraryA\bin\Debug\LibraryA.dll
ключевой пункт здесь / переключатель proxytypes. Можно читать о различных переключателях для Инструмент Генератора Сериализатора XML (Sgen.exe)
, Если Вы знакомы с MSBuild, Вы могли бы настроить цель GenerateSerializationAssemblies так, чтобы задача SGen имела атрибут UseProxyTypes = "ложь" вместо истинного, но тогда необходимо принять всю связанную ответственность настройки Visual Studio / система MSBuild. Кроме того, Вы могли просто расширить свой процесс сборки для вызова SGen вручную без переключателя/proxytypes.
, Если Вы читаете документацию для SGen, они довольно ясны, что Microsoft хотела ограничить использование этого средства. Учитывая уровень шума по этой теме, довольно ясно, что Microsoft не сделала отличной работы с документированием опыта Visual Studio. Существует даже Обратная связь Подключения , объект для этой проблемы и ответа не является большим.
Язык запросов MongoDB предназначен для возврата всех соответствующих документов.
Не поддерживается возврат только поддокументов.
Эта проблема имеет выдающийся билет в трекере билетов MongoDB.
ОБНОВЛЕНИЕ: похоже, что билет был помечен как фиксированный.
См. здесь для примера того, как использовать это.
Если вы хотите выбрать только соответствующий элемент, вы можете сделать запрос следующим образом.
b.coll.find ({"auther": "xyz", "books.book1": "b1"}, {"books. $. Date": 1})