2010-12-02 3 views
4

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

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

Просьба предоставить мне пример кода.

ответ

10

DTO - немые объекты, состоящие из общественных геттеров/сеттеров. Обычно я помещаю их в отдельное пространство имен, называемое SomeProject.Dto.

public class CustomerDto { 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public LocationDto HomeAddress { get; set; } 
} 

Я обычно стараюсь держать имена свойств того же между DTO и соответствующим классом области, возможно, с некоторым уплощение. Например, мой клиент может иметь объект адреса, но мой 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; } 
} 

Вы можете значительно уменьшить количество повторных отображения кода перевода объектов домена в DTOS с помощью AutoMapper Джимми Богарда в.

http://automapper.codeplex.com/

1

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

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

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

+0

Спасибо, Браунман. Масштаб приложения не такой уж большой. Однако, создавая DTO, я в конечном итоге создаю seprate файлы классов даже для базового DTO (возвращает только 1 атрибут). Я хочу знать, как уменьшить файлы классов и эффективно управлять моим DTO. Я посмотрю на MVC. – 2010-12-02 05:02:42

+0

любая конкретная ссылка на примеры ASPC ASP.NET на asp.net? – atiyar 2011-05-02 13:00:01