问题标签 [dto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1319 浏览

c# - DTO(linq2sql)和类对象之间的混淆!

我已经成功使用 linq2sql 和 linq DTO(由 linq2sql 创建的类)......

我很困惑,我有更新旧应用程序的任务,我可以看到我的 DTO 将按应有的方式使用.... 传输日期

我正在使用存储库模式,所以我通过 linq2sql dtos 将数据从存储库传递到服务......一旦我进入服务层(这基本上是我的业务逻辑),那么我需要传递类对象......

这些类对象基本上是 dtos 的镜像(或多或少) - 在某些地方有一些变化,但通常是相同的..

所以回到手头的问题!- 仅使用 dtos 将数据从存储库传输到服务层是这种好习惯吗……一旦进入服务层(业务逻辑),我应该将所有 dtos 映射到类对象计数器部件(当然使用自动映射器! !)

我的另一种选择是继续使用类对象之类的 DTOS,并将它们从方法传递到方法以及作为返回类型等,但我觉得这是不好的做法,我一直在想我应该应用哪种方法?

任何帮助都非常感谢

谢谢

0 投票
7 回答
30915 浏览

dto - DTO:最佳实践

我正在考虑使用 DTO 而不是传递我的域对象。我已经在这里和其他地方阅读了几篇文章,我知道有几种方法可以完成这项工作。

如果我总共只有大约 10 个域类,并且考虑到我想在我的视图(WPF 前端)中使用 DTO 而不是域对象来消费,那么推荐的方法是什么。我认为使用 automapper 等工具对我的情况来说可能有点过头了。所以我正在考虑编写我的自定义映射器类,该类将具有将域类型转换为 DTO 类型的方法。

最好的方法是什么,是否有任何样本可以让我开始这样做?

第二个问题:在编写那些将创建 DTO 的方法时,我如何处理设置所有数据,尤其是当域类型引用其他域对象时?我是否在 DTO 中编写等效属性以映射到域类中的那些引用类型?请问我的第二个问题是否用恰当的语言表达。但我想你明白我想问什么。

第三个问题:在编写 DTO 时,我应该编写多个 DTO,每个 DTO 都包含给定域模型的部分数据,以便每个 DTO 都可以用来满足特定 View 的要求,还是 DTO 应该拥有那里的所有数据在相应的模型类中。

0 投票
8 回答
27951 浏览

java - POJO(普通旧 Java 对象)和 DTO(数据传输对象)有什么区别?

我找不到它们之间的区别。有谁知道如何区分它们?

0 投票
9 回答
169518 浏览

java - java对象到对象映射的任何工具?

我正在尝试使用 java 将 DO 转换为 DTO,并在开始编写自己的工具之前寻找自动化工具。我只是想知道是否有任何可用的免费工具。

0 投票
11 回答
66271 浏览

java - 为什么数据传输对象 (DTO) 是反模式?

我最近无意中听到有人说数据传输对象(DTO) 是一种反模式

为什么?有哪些替代方案?

0 投票
2 回答
1153 浏览

asp.net-mvc - 我的 ASP.NET MVC 应用程序结构是否正确?

我一直在阅读教程(特别是使用 Linq-To-Entities 的教程)并且我了解基本概念,但是有些事情给我带来了问题。

这些教程通常只涉及简单的模型和表单,它们只使用基本的创建、更新和删除语句。我的稍微复杂一些,我不确定我是否以正确的方式进行处理,因为当需要处理六个数据库对象的关系时,教程不再提供帮助。

对于 post 方法,执行 CRUD 操作的常用方式

不会做我想做的事,因为完全实现的类没有发布到控制器方法。我可以发布单个字段、表单集合或多个 DTO 对象,然后调用服务或存储库上的方法来获取我从表单发布中收到的信息,以及它需要查询或创建自身的信息,然后从所有这些,创建我可以保存的数据库对象。

我是在正确处理这个问题,还是在混淆框架?我从来没有直接使用实体对象,每当我查询一个实体对象时,我都会将我需要的信息放在 DTO 中,并以此为基础。创作也是如此。这是允许的,还是我避免使用实体直接违背了使用框架的目的?

编辑:我也担心这种方法,因为它需要空构造函数来正确执行 LINQ 查询,因为此错误消息:

LINQ to Entities 仅支持无参数构造函数和初始化程序。

这没什么大不了的,因为我很少需要构造函数中的逻辑,但是没有构造函数而只有公共属性是一个问题吗?

0 投票
1 回答
514 浏览

nhibernate - 在投影中重用组件(NHibernate)

是否可以在投影中重用组件映射?

这是 Vendor 实体的映射:

对于报告,我想在数据传输对象中检索这些供应商,但重用地址组件(因为有很多字段和一些有用的格式化行为)。

如果不将地址拆分到它自己的表中,这是否可能?

谢谢!

0 投票
1 回答
133 浏览

c# - Linq2Sql 生成的类能不能放到单独的项目中?

谁能告诉我是否可以将 linq2sql 生成的类提取到 c# 中的单独项目中?- 我想我可以创建文件,然后将它们复制到一个新项目并添加对我的数据项目的引用?

我的问题是我有我的用户界面、服务层和数据层......

目前,数据层还具有生成的 linq2sql,因为这是 dbml 所在的位置。

因此,我需要从服务到数据的参考,这很好!但是我有我的 UI 来引用服务层,但我认为我的 UI 引用数据层并不是一个好主意(因为 linq2sql 类需要它)。

所以我看到的唯一方法是把类拉出来放在一个单独的项目中,这样所有项目都可以共享。这是好习惯吗?

我应该将此项目称为 DTO 什么命名约定?波科?实体?或类似的

我真的很想听到一些关于如何实现这一点的反馈,而且天气我是正确的

0 投票
2 回答
175 浏览

.net - 无类型的 .net 数据集是鸭子类型的 DTO 吗?

好的,我正在使用索引器访问数据集中数据行的字段,但让我们认为这只是一个语法特征。您是否会走到这一步,称它为简化为 getter 和 setter 的鸭子类型的东西,换句话说,是数据传输对象?

0 投票
4 回答
3707 浏览

nhibernate - 构建 NHibernate DTO 的最佳方法

我是 NHibernate(和 ORMS)的新手,并试图掌握它提供的无数不同选项。作为参考,我将 Fluent NHibernate 与单独的业务对象一起使用,而这些业务对象又将 DTO 纯粹用于数据访问。我的应用程序架构必须同时支持 Windows 和 Web“前端”。

我的 qudry 是一种通用方法,因为似乎有很多选择。我的 DTO 类似于下面的示例。每个 DTO 都有一个对从 BO 传递给它们的 ISession 的引用。他们负责自己的加载和保存:

首先: 这是正确的方法吗 - DTO 是否应该具有保存和加载自身的能力?

其次: 无论保存/加载代码在哪里,您应该在生命周期或对象中使用相同的 ISession,还是应该在每次需要数据库交互时对 ISessionFactory 有一个引用并打开一个新会话?

当然总是有选项3,以上都不是:)