Как создать DTO в asp.net? - PullRequest
       17

Как создать DTO в asp.net?

5 голосов
/ 02 декабря 2010

1) Я хочу знать, каков рекомендуемый способ создания и возврата DTO для объекта, который имеет 10 атрибутов, и я хочу вернуть только 2 с моим объектом DTO.

2) Должны ли DTO иметь свое собственное пространство имен? Если да, то как мы их организуем? Каждый DTO внутри одного файла класса или все DTO внутри одного класса?

Пожалуйста, предоставьте мне пример кода.

Ответы [ 2 ]

11 голосов
/ 02 декабря 2010

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/

1 голос
/ 02 декабря 2010

Ваш вопрос очень открытый. Ответы зависят от масштаба вашей заявки.

В общем, я создаю свои DTO или ViewModels в их собственной сборке. Чтобы получить мои DTO, у меня есть некоторый уровень обслуживания, который позаботился о создании их на основе моего запроса.

Если вы хотите конкретные примеры, взгляните на некоторые примеры Asp.NET MVC на asp.net. Хотя вы, возможно, не используете MVC, вы, по крайней мере, можете увидеть, как создаются ViewModels.

...