DTO - это тупые объекты, состоящие из публичных получателей / установщиков.Обычно я помещаю их в отдельное пространство имен с именем SomeProject.Dto.
public class CustomerDto {
public int Id { get; set; }
public string Name { get; set; }
public LocationDto HomeAddress { get; set; }
}
Обычно я стараюсь сохранить одинаковые имена свойств между DTO и соответствующим классом домена, возможно, с некоторым выравниванием.Например, у моего Заказчика может быть объект Address, но мой DTO может сгладить его до:
public class CustomerDto {
public int Id { get; set; }
public string Name { get; set; }
public string HomeStreet { get; set; }
public string HomeCity { get; set; }
public string HomeProvince { get; set; }
public string HomeCountry { get; set; }
public string HomePostalCode { get; set; }
}
Вы можете значительно сократить количество повторяющихся кодов преобразования для преобразования объектов домена в DTO с помощью AutoMapper Джимми Богарда..
http://automapper.codeplex.com/