繁体   English   中英

如何在asp.net中创建DTO?

[英]How to create a DTO in asp.net?

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

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

请提供一些示例代码。

DTO是由公共getter / setter组成的愚蠢对象。 我通常将它们放在一个名为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; }
}

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

http://automapper.codeplex.com/

你的问题非常开放。 答案取决于您的申请规模。

一般来说,我在他们自己的程序集中创建我的DTO或ViewModel。 为了得到我的DTO,我有一些服务层负责根据我的要求创建它们。

如果你想要具体的例子,请看一下asp.net上的一些Asp.NET MVC示例。 虽然您可能没有使用MVC,但至少可以看到ViewModel是如何创建的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM