问题标签 [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.
java - 从域对象生成 DTO 和映射器
我有很多需要转换为 DTO 的 java 域对象。
拜托,不要从反模式的事情开始,域对象是它们的历史,因为它们的历史悠久,我不能修改它们(或者不能修改太多,见下文)。
所以,当然,我们已经过了手动完成所有这些的时代。我环顾四周,推土机似乎是 DTO 映射的首选框架。
但是......我真正想要的是:在 DTO 中注释我想要的类和字段,并运行一个可以生成 DTO 和映射器的工具。
这听起来是不是太不合理了?
这样的工具是否已经存在?
asp.net - 在企业 ASP.net 应用程序中编写 DTO 层的最佳实践是什么?
是否有任何支持缓存等的开源替代方案?
asp.net-mvc - 我的 ASP.Net MVC 视图的 DTO 对象应该如何?
我想知道,我在asp.net mvc 和nhibernate 中有一个应用程序。我在 asp.net mvc 的 Views 中读到了这一点,不应该知道域,它需要使用 DTO 对象。所以,我正在尝试这样做,我找到了 AutoMapper 组件,但对于某些域对象,我不知道执行 DTOS 的正确方法。我有一个这样的域类:
我想获得一些示例,说明如何执行 DTO 来查看?我需要在 DTO 中只使用字符串吗?而我的控制器,它应该获取域对象或 DTO 并将其转换为域以保存在存储库中?
非常感谢!
干杯
nhibernate - 休眠。DTO -> 域
我有 SOA,它为不同的客户端(asp,sl)处理数据。这个设计的基础是我的商业模式的领域。对于运输,我使用 DTO 向客户展示它。对于将域映射到 DTO,我使用 AutoMapper。现在我应该坚持来自客户的新实体。我也想在这种情况下使用我的 DTO。所以我有一些问题,因为我对这个设计不太熟悉
1)在客户端上构建 DTO 并将其发送到网络服务是一种好习惯吗?也许我应该通过我的域名?
2) 一个域是否可以有多个 DTO(一个在网格上显示,一个要保存)。为了节省,我需要在客户端设置所有非原始道具。
3) DTO -> 到域。如果我有 int 我可以使用 AutoMapper 为这个 ID 生成 NHibernate 代理,或者我应该手动执行。
你的经历和实践非常有趣。谢谢解答!!!
database - 通过 WCF 公开 DTO 时的不同类型的 Id
假设我们有一个简单的 DTO,其属性为 Id、Name。如果此 DTO 通过某些数据层来自数据库,则 Id 应为 int 类型。如果此 DTO 通过某些数据层来自 Active Directory,则 Id 应该是 Guid 类型。
实现这一点的最佳方法是什么?
c# - EFv1 映射 1 到多 与 POCO 的关系
我正在尝试解决将 EF 实体映射到用作 DTO 的 POCO 的问题。
我的数据库中有两个表,比如产品和类别。一个产品属于一个类别,一个类别可能包含许多产品。我的 EF 实体被命名为 efProduct 和 efCategory。在每个实体中,efProduct 和 efCategory 之间都有适当的导航属性。
我的 Poco 对象很简单
要获取产品列表,我可以执行以下操作
但是存在类型不匹配错误,因为 p.Category 的类型为 efCategory。我该如何解决这个问题?也就是说,如何将 p.Category 转换为 Category 类型?
同样,当我这样做时
我得到一个不匹配,因为 ProductList 是 Product 类型,其中 c.Products 是一个 EntityCollection
我知道 .NET EF 增加了对 POCO 的支持,但我不得不使用 .NET 3.5 SP1。
entity-framework - 使用 DTO 实施 N 层实体框架 4.0
我目前正在构建一个基于 Web 的系统,并尝试在 SOA 架构中使用 DTO 实现 N 层实体框架 4.0。我在理解如何实现数据访问层 (DAL)、业务逻辑层 (BLL) 和表示层时遇到问题。
假设我有一个“useraccount”实体具有以下内容:
ID
名
姓
AuditFields_InsertDate
AuditFields_UpdateDate
在 DAL 中,我创建了一个类“UserAccountsData.cs”,如下所示:
在 BLL 中,我创建了一个类“UserAccountEO.cs”,如下所示:
在 PL 中,我创建了一个网页,如下所示:
上述方法是使用 EF4 在 n 层架构中实现 DTO 模式的正确方法吗?
我会很感激你的帮助谢谢。
asp.net-mvc - 将 DTO 转换为视图模型
有谁知道将 DTO 转换为视图模型或将 DTO 成员映射到视图模型成员的好方法(阅读:快速编码)?最近我发现自己编写了许多转换和辅助方法,但这是一项非常艰巨和乏味的任务。此外,它通常需要执行两次(DTO -> View Model,View Model -> DTO)。
有没有一种方法、技术或技术可以让我更快、更有效地做到这一点?
nhibernate - 使用 NHibernate,我如何创建一个 INHibernateProxy?
在大量阅读有关序列化的信息后,我决定尝试创建 DTO。经过更多阅读,我决定使用 AutoMapper。
我想做的是转换父级(足够简单)并转换实体属性(如果它们已被初始化),我已经使用下面的 ValueResolvers 完成了(一旦我完全工作,我可能会尝试使其通用) . 这部分有效。
当我将 DTO 转换回实体时,对于未初始化的实体,我想创建一个代理,以便如果实体想要访问它,它可以。但是,我不知道如何创建代理。如果相关的话,我正在使用 Castle。
我已经尝试了很多没有运气的事情。下面的代码一团糟,主要是因为我一直在随机尝试,不知道我应该做什么。有人有什么建议吗?
谢谢,埃里克
也许我把它复杂化了。这似乎有效。有人看到它有什么问题吗?
oop - 将 DTO 对象深度集成到代码中是一种好习惯吗?
我正在构建一个相当大的应用程序,它利用 DAO/DTO 设计模式从数据库中获取数据。在应用程序中,特定的 DTO 已成为“核心数据结构”,因为它在整个项目中都被引用。我想知道在整个项目中如此深入地集成这个 DTO 是否是一个好习惯,或者我应该有某种转换层来将 DTO 转换为非 DTO 对象?
我可以看到支持和反对拥有此转换层的原因。例如,如果我们确实有转换层,那么: 1) 对 DTO 的剧烈更改可能会导致整个项目出现错误,因此转换层将错误隔离到代码中的单个点。2)我能够向核心数据结构添加额外的逻辑,因为它是自动生成的,所以无法添加到 DTO。
但是,我也看到了转换层的缺点:1)DTO 转换代码必须在 DTO 更改时保持一致。这增加了程序员必须注意的另一个步骤,因此更容易出错。2)这也会导致代码重复,因为在大多数情况下,您正在复制 DTO 的访问器。
最好的路线是什么?无处不在的 DTO 还是转换层?那里的任何人都可以指导我正确的方向吗?