Tag: dto

向客户端发送数据的最佳做法是什么:POCO或DTO?

我正在使用EF 4和POCO开始一个项目。 向客户端发送数据的最佳做法是什么? 我应该发送POCO还是应该有DTO? 在将实体(与上下文断开连接)发送到客户端时,我是否应该注意任何问题? 是否建议将POCO发送到客户端层?

LINQ将数据表映射到列表

我刚发现LINQ,请跟我一起全面! 🙂 所以! 我有一个数据层,它为我提供数据表,我想将它们转换为对象列表。 这些对象在spécific层DTO(数据传输对象)中定义。 如何将数据表的每一行映射到对象中并将所有对象放入列表中? (今天我在场后“手动”字段)是否可以使用LINQ? 我听说过LINQ2Entities? 我对吗? 感谢帮助初学者理解……

DTO与序列化持久实体

我很想知道社区对这个问题的看法。 我最近遇到了NHibernate / WCF场景(实体在服务层持久存在)的问题,并意识到我可能在这里走错了方向。 我的问题很明显,当在Web服务(在这种情况下为WCF)后面使用持久对象图(NHibernate,LINQ to SQL等)时,您更喜欢通过网络发送这些实体吗? 或者你会创建一组较轻的DTO(没有循环引用)?

如何使用AutoMapper将Dto映射到具有嵌套对象的现有对象实例?

我有以下Dto和实体与嵌套的子实体。 public class Dto { public string Property { get; set; } public string SubProperty { get; set; } } public class Entity { public string Property { get; set; } public SubEntity Sub { get; set; } } public class SubEntity { public string SubProperty { get; set; } } 如何使用AutoMapper设置映射,这将允许我使用Dto中的值更新现有的Entity实例。 我正在使用Mapper.Map(dto, entity)更新现有实体但是当我尝试将Dto.SubProperty映射到Entity.Sub.SubProperty我得到一个例外, “必须解析为顶级成员。参数名称:lambdaExpression […]

存储库层是否应该返回数据传输对象(DTO)?

我有一个存储库层负责我的数据访问,由服务层调用。 服务层返回序列化并通过线路发送的DTO。 通常,服务只是访问存储库并返回存储库返回的内容。 但为了使其工作,存储库必须返回该DTO的实例。 否则,您首先必须将存储库返回的数据层对象映射到服务层中的DTO并返回该对象。 这看起来很浪费。 最重要的是,如果DTO的创建发生在服务层中,那么在一个存储库调用之前可能已经完成的事情以及因此一个数据库查询现在必须在服务层中的多个存储库调用中发生以“组合”最后的DTO。 当然,除非我在数据和服务层之间创建一个可以包含这样一个组合对象的传输对象。 然后必须将其映射到DTO。 为了纯洁,这似乎是浪费。 但是,让存储库层返回仅通过线路发送的对象也是错误的。

如何快速检查两个数据传输对象在C#中是否具有相同的属性?

我有这些数据传输对象: public class Report { public int Id { get; set; } public int ProjectId { get; set; } //and so on for many, many properties. } 我不想写 public bool areEqual(Report a, Report b) { if (a.Id != b.Id) return false; if (a.ProjectId != b.ProjectId) return false; //Repeat ad nauseum return true; } 有没有更快的方法来测试两个只有属性的对象是否具有相同的值(每个属性不需要一行代码或一个逻辑表达式?) 切换到结构不是一种选择。