У меня есть небольшое приложение WPF на основе участников MVVM. До сих пор в моем приложении создавались фиктивные классы Model. Теперь я планирую вызвать веб-сервис, который использует XSD. Заглядывая вперед, я хотел бы использовать эти типы XSD в качестве моделей.
Я вижу, по крайней мере, два способа сделать это (может быть больше); например -
- добавить ссылку на веб-сервис. Это означает, что соответствующие классы для типов, определенных в XSD, будут сгенерированы VS. Затем я мог бы использовать эти классы в качестве моделей. Существует потенциальный конфликт пространства имен (не основной), когда ссылки добавляются, если в приложении используются два или более веб-сервиса, и эти веб-сервисы работают с одинаковыми типами XSD.
- написание собственных классов Model, которые могут быть заполнены на основе XML, возвращаемого из вызова WebService. Модель может проверять XML по XSD при инициализации. Таким образом, ссылки не добавляются, и веб-сервис может быть вызван с использованием методов HTTP GET / POST. Но это предполагает ручное обновление моделей каждый раз, когда изменяется XSD.
Не могли бы вы дать совет по оптимальному подходу к использованию типов XSD в качестве моделей (на основе вашего прошлого опыта с аналогичным сценарием использования типов, определенных в XSD в приложении MVC / MVVM)?