如何在asp.net中创建DTO?

Zo *_*Has 5 c# asp.net asp.net-2.0 dto

1)我想知道为具有10个属性的对象创建和返回DTO的推荐方法是什么,我只想用我的DTO对象返回2.

2)DTO应该有自己的命名空间吗?如果是,我们如何组织它们?单个类文件中的每个DTO或单个类中的所有DTO?

请提供一些示例代码.

Jam*_*acs 11

DTO是由公共getter/setter组成的愚蠢对象.我通常将它们放在一个名为SomeProject.Dto的单独命名空间中.

public class CustomerDto {
    public int Id { get; set; }
    public string Name { get; set; }
    public LocationDto HomeAddress { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我通常会尝试在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; }
}
Run Code Online (Sandbox Code Playgroud)

通过使用Jimmy Bogard的AutoMapper,您可以大大减少将域对象转换为DTO的重复映射代码量.

http://automapper.codeplex.com/

  • 我把每个DTO放在不同的文件中.它们都在一个单独的文件夹中,很容易折叠和忽略.:) (2认同)