No, it is not moving the problem else where. In the case of an
application changing ORM's, the abstraction layer of the DTO from the
Model entity allows for a smoother transition to the new ORM, nHibernate
to EF or the other way too.
In addition, DTO(s) are unused in N-Tier applications quite a bit.
Sprocs and inline T-SQL returned results are using a data reader with
mapping data to DTO(s), for best possible speed of returning results.
Some applications use sprocs with a data reader and EF in the same
solution, so DTO(s) are used.
In the case of a N-Tier WCF Web service, things have to be serialized. I
do not think a Linq-2-SQL entity is a serialized datacontract, and one
has to goto serialized DTO'(s).
However, EF entities are serialized datacontratcs so that is where the
line gets blurred between using a DTO as opposed to using a model entity
that is disconnected and used as a DTO.
it is nothing to map in both directions between DTO and entity.