Мы используем Linq2Xsd уже десять лет.Для обеспечения централизованного контроля внутренних структур данных и внешних интерфейсов мы сочли это бесценным.Размер нашей команды составляет около 10 разработчиков в 3 подгруппах.Нам очень нравится, как вы можете разветвлять код, редактировать контракт, назначать его разработчику и давать им письменное описание изменений в DC и требуемой функциональности. Однако, мы подошли к тому, что технологии, которые мы используем, давно стоят на ногах, имы не можем гарантировать, что они будут продолжать функционировать в будущем.
Однако мы не хотим отказываться от контрактного характера нашего рабочего процесса.(В нашем конкретном отделе) Это просто работает слишком хорошо.
Наша «внутренняя» система состоит из:
- Уровень доступа к данным Linq To Sql, сгенерированный из базы данных (длядолжен быть заменен на Devart LinqConnect)
- Уровень бизнес-логики на основе Linq To Xsd, сгенерированный из основного контракта XSD, как общедоступных точек входа, так и общедоступных структур данных.Также проверяет входящий XML на соответствие XSD
- Многие проекты интерфейсов, которые извлекают WSDL из BLL, автоматически генерируют сервис, будь то SOAP или REST.
Вот примеры использования, которыедолжны быть заполнены одним или несколькими, хорошо поддерживаемыми или хотя бы с открытым исходным кодом, надстройками для Visual Studio 2012 и / или Visual Studio 2017.
Метод создания структурированного документа общеизвестного типа, который может быть прочитан во время сборки и используется для создания открытых статических методов и классов открытых данных, предоставляемых проектом.
Входящие данные, как двоичные, так и текстовые, могут быть проверены по указанному контракту.