问题标签 [data-transfer-objects]
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.
jax-rs - 是否可以将 ResourceInfo 注入到 EntityProvider 中,例如 MessageBodyReader 和 MessageBodyWriter?
有一个要求:
对于每个 RESTful 资源方法,都有一组 OXM 元数据文件。我需要在创建 JAXBContext 时加载这些文件。所以我需要知道每个请求的 ResourceInfo,然后从 Resource Method 上的一些 Annotation 映射,它可以指示应该加载哪一组 OXM 元数据文件。
- ResourceInfo 是每个请求的吗?
- 我可以在EntityProvider中获取每个请求的Method(资源方法),例如MessageBodyReader和MessageBodyWriter吗?
- JPA Entity 和 XML/JSON 之间或 TO 和 XML/JSON 之间的 OXM 元数据,您更喜欢哪个?因为我假设每个服务 TO 可以自定义域类的视图到客户端。
asp.net-mvc-4 - 将父实体和子实体映射到 DTO 时的循环依赖
我刚刚使用this question中显示的jevelez方法在通用存储库中实现了显式加载子实体及其父实体。
但是现在我正在尝试将子实体及其父实体映射到 DTO,以便我可以将它们发送到我的 UI 层。
这是我的映射器当前的样子:
映射接口:
实现接口的抽象基方法:
以下是两个映射器,它们为两个实体实现这些作为示例:
和子实体映射器:
所以我相信你们都可以看到循环依赖发生在哪里。在过去的两天里,我一直在为此苦恼,但我对此仍然很业余,到目前为止,我还无法使用谷歌解决这个问题。
我不想在这部分使用 AutoMapper 和 ValueInjector 之类的工具,因为我在数据库和 DTO 之间进行映射,并且我已经在使用它在 DTO 和 UI 层中的 ViewModel 之间进行映射。
如果可能的话,我希望能够以这种方式保持两者之间的映射,因为有时我会只请求子实体,在这种情况下,我可能希望将父实体连同它一起获取。
有谁知道如何正确地做到这一点?
c# - 我应该用数据传输对象包装实体吗
我有一个名为 SchoolyearEditRequest 的数据传输对象,它有 4 个属性保存域对象。
1)我的 DTO 包装域实体是错误的吗?
2)如果是,我是否必须为每个域实体创建一个 xxxDTO“包装器”,其中只有客户端真正需要的属性?
asp.net-web-api - 数据传输对象的数据能否匹配 UI 需求
数据传输对象保存从多个业务对象发送到客户端的数据。
但是,这些数据及其结构是否应该/可以为客户端进行额外设置以满足其绑定需求?
或者我应该为此额外创建一个 ViewModel 吗?
它是一个小型应用程序,所以我对过多的过度架构犹豫不决,并且 dto 将与视图模型 90% 相同......
DTO 将不再从一个安静的服务器转移到一个 javascript 客户端。
ios - 您如何处理为相互依赖的对象编写汇编程序?
我有一个Animal
对象,它有一个Owner
. 一个Owner
对象有一个Animal
。如何为 an 编写汇编程序和为 an 编写避免循环Animal
的汇编程序?Owner
请让我进一步解释:
我得到一个Animal
NSManagedObject
核心数据并将其转换为一个Animal
数据传输对象(DTO),以便在我的整个应用程序中使用。我Animal
为此使用了一个汇编器(又名映射器)。
在Animal
汇编程序中,我需要填写Owner
属性。所以,我需要组装一个Owner
DTO。好吧,在Owner
DTO 内部,我需要组装一个Animal
DTO。因此循环。要创建一个完整的Animal
,我需要一个Owner
对象。要创建一个Owner
对象,我需要一个Animal
对象。在Animal
对象内部,我应该只存储对 的引用Owner
,例如ownerId
? 在 Core Data 中,似乎允许对象相互组合。
我很感激任何解决这个问题的策略。
c# - 根据 ui 逻辑设计数据传输对象
我处于数据传输对象的情况,我开始认为我过度架构或使事情复杂化......
我不知道我是对还是错。
仅当在客户端 UI 中选择 WeekType AB 时,才需要 EditSchoolyearDTO 中的所有属性。
当只选择 WeekType A 时,A 属性就足够了。
在 AB 案例中,我现在将创建一个 SchoolWeekADTO 和 SchoolWeekBDTO。
好吧,当我将 DTO 结构视为客户端和服务器之间的 json 接口时,我的 DTO 结构不会表达何时需要 A 或 AB 数据。这对我来说感觉很糟糕。
最重要的是,我的服务器 api 具有固定类型,因此我不能一次发送带有 A-DTO 的帖子,而另一次发送带有 AB-DTO 的帖子。
你会怎么做?
c# - DTO 不应该知道业务对象内部的枚举
我在定义的业务对象中有一个枚举。
这个枚举虽然在数据传输对象中定义。
dto 枚举不是业务对象的类型,因为它们不应该相互了解。
当我现在从客户端获取此 dto 并将 dto 映射到业务对象并将数据插入数据库时,我想断言传递的 dto.enum 与数据库中插入的枚举值具有相同的值。
这就是我得到的错误信息:
实际上它们具有相同的值但类型不同:dto.enum 与 businessobject.enum。
那么你会在哪里定义这个枚举,那么两个对象都可以,并且两个对象之间没有耦合?
我考虑在我的业务层和 dto AND 业务对象使用的枚举定义中放置一个额外的 c# 类,以便断言可以工作。
你会怎么做?
asp.net-web-api - 返回一个 IEnumerable在一个额外的响应包装类中
我的服务应该返回 DTO 的集合,还是应该使用后缀“响应”的类包装我的 dto 集合并返回它?
我对太多不同的样本感到困惑,它的优势是什么。
当我做一个业务逻辑较少但 UI 逻辑较多的单页应用程序时,不会有很多 DTO,也没有太多理由来更改/扩展它。
asp.net-mvc - 这是否违反了 DRY 原则?
我有 3 个域模型 - Item、ItemProductLine 和 ProductLine。这些中的每一个都映射到现有的数据库表。我还有一个在我的视图中使用的视图模型。
领域模型:
查看型号:
我目前的查询是:
我目前在控制器中有这个查询,但我正在重构代码。我想将查询代码放在数据访问层的存储库类中。根据我的阅读,我不应该引用该层中的任何视图模型。如果我更改select new ItemViewModel()
为select new Item()
,它将返回错误:
无法在 LINQ to Entities 查询中构造实体或复杂类型“proj.DAL.Item”。
我见过的一个解决方案是创建一个数据传输对象 (DTO) 来将数据从我的域模型传输到我的视图模型。
但是,通过这样做,我将拥有 3 个数据副本。如果我需要添加另一个数据库字段并显示它,我需要更新 3 个文件。我相信我违反了 DRY 原则。使用 DTO 和视图模型时是否不可避免地违反了 DRY 原则?如果没有,您能否提供一个示例来说明如何将其重构为具有 DRY 代码?
sql - 在模式之间移动 Oracle 对象(唯一性约束限制)
实际上在Oracle 10g上。如果这可以帮助我们,我们可以迁移到12c 。
- 我们有 2 个模式:A_ADMIN和A2。
- 主模式是A2,其中包含一些指向A_ADMIN表的同义词。
- 我们想将引用的 A_ADMIN 对象移动到A2 模式,因此只需要一个模式。
- 有触发器、包、索引、唯一性约束......
考虑到我们有开发和生产环境,因此我们想准备迁移脚本来这样做,最好的方法是什么?