如何在.NET Web API中为域对象表示多个DTO?

时间:2014-01-28 22:18:39

标签: asp.net-web-api automapper dto

我正在编写一组REST服务,并且遇到了一个问题,我确信它有一个恰好可以解决我的适当解决方案/模式。

例如/ api / People / 1将返回PersonDto的序列化表示(这是由Entity Framework创建的Person域对象的缩减表示。我使用AutoMapper来保护PersonDto。

然而,第二个控制器(比如/ api / Classes /)将返回不同的复杂对象,可能包含一个或多个人,但是我想以不同于简单地使用现有PersonDto的方式表示每个人(例如,我可能需要更多或更少的字段)。

我是否需要定义ClassPersonDto?我不确定在这里做什么是“适当的”。

1 个答案:

答案 0 :(得分:0)

如果在“Classes”中传回的“person”模型与“PersonDto”模型不同,则为yes,创建不同的模型。您不需要这样做,但保持您的课程(包括实体)尽可能具体,这几乎总是更好。