Я использую DTO между бизнес-уровнем и уровнем представления, и в службе есть некоторый код отображения, который преобразует объект домена DTO <->. В настоящее время я позволяю PL частично заполнить DTO и отправить его в службу обновления, которая обновляет только измененные свойства в связанном DO.
Как обычно работают с ненулевыми типами (значениями) в частично заполненных DTO? Для обнуляемых типов я просто проверяю, является ли значение DTO нулевым, и если нет, устанавливаю соответствующее значение в DO. Но ненулевые значения всегда будут содержать значение, которое может быть или не быть установлено PL.
Я мог бы:
- использовать строки произвольной формы в DTO для условно-типизированных свойств и преобразовывать в / из типа значения
- заставить PL вызывать метод службы для обновления свойств значения, а не передавать их через DTO
- заставляет PL всегда отправлять полностью заполненный DTO в службу обновлений
Ни один из них не кажется идеальным: есть ли опция, которую я пропускаю? Или я подхожу к этой проблеме с неправильной точки зрения?
Если это актуально, я использую C # 4, WCF и ASP.NET MVC