问题标签 [object-object-mapping]

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 回答
6936 浏览

c# - 领域驱动设计、.NET 和实体框架

我是域驱动设计的新手,但想学习它并将其用于新应用程序。我将使用实体框架进行数据访问。

到目前为止的基本布局是:

ASP.NET MVC 和其他客户端(移动设备等)
|
网络服务
|
领域模型(服务、存储库、聚合、实体和值对象)
|
数据访问层(实体框架)
|
数据存储 (SQL Server)

在数据访问层和域模型之间传输数据的最佳方式是什么?我认为域模型中的实体是 POCO 对象,它们应该映射到实体框架对象/从实体框架对象映射。这是一个好的解决方案吗?

如果是这样:
这种映射应该如何以及在哪里发生?(域模型层或数据访问层)
我应该在哪里以及如何查询实体框架(即根据搜索返回列表)?

0 投票
1 回答
1089 浏览

nhibernate - Nhibernate/Hibernate、查找表和对象设计

我有两张桌子。带有 CustomerID、InvoiceDate、Value、InvoiceTypeID 列的发票(CustomerID 和 InvoiceDate 组成一个复合键)和带有 InvoiceTypeID 和 InvoiceTypeName 列的 InvoiceType。

我知道我可以创建我的对象,例如:

所以生成的 sql 看起来像:

但是,我宁愿执行两个选择查询来检索数据。我还想避免将子对象用于简单的查找列表。所以我的对象看起来像:

我的 sql 看起来像:

我的问题是如何为此创建映射?

我尝试过使用 join 但这尝试使用 CustomerID 和 InvoiceDate 加入,我是否遗漏了一些明显的东西?

谢谢

0 投票
3 回答
3709 浏览

c# - 使用参数化构造函数的通用对象到对象映射

我有一个返回 IDataRecord 的数据访问层。我有一个为 DataContracts (dto's) 提供服务的 WCF 服务。这些 DataContracts 由包含 IDataRecord 的参数化构造函数启动,如下所示:

不幸的是,我无法更改 DAL,因此我不得不使用 IDataRecord 作为输入。但总的来说,这非常有效。大多数情况下,映射非常简单,有时它们更复杂一些,但不是火箭科学。

但是,现在我希望能够使用泛型来实例化不同的 DataContract 以简化 WCF 服务方法。我希望能够做类似的事情:

所以我尝试了以下解决方案:

  1. 使用带有构造函数的泛型类型接口。不起作用:当然我们不能在接口中定义构造函数

  2. 使用静态方法来实例化 DataContract 并创建包含此静态方法的类型化接口。不起作用:当然我们不能在接口中定义静态方法

  3. 使用包含 new() 约束的泛型类型接口不起作用:new() 约束不能包含参数(IDataRecord)

  4. 使用工厂对象执行基于 DataContract 类型的映射。确实有效,但是:不是很干净,因为我现在有一个 switch 语句,所有映射都在一个文件中。

我找不到一个真正干净的解决方案。有人可以为我解释一下吗?该项目对于任何复杂的映射技术来说都太小了,对于“基于开关的”工厂实现来说太大了。

0 投票
2 回答
2251 浏览

c# - Automapper - 将多对多关联映射到平面对象的最佳实践

我有两个实体:EmployeeTeam.

替代文字

我想要的是一个EmployeeForm具有Name.Team

替代文字

如何使用AutoMapper实现这一点?

我目前的“解决方案”如下:

在我看来,这很难读。

我想要的是一个通用方法,我可以在其中传递一个实体,选择集合并说如果集合为 null 返回默认值,或者通过 lambda 表达式选择集合的属性。

0 投票
3 回答
6214 浏览

mapping - 使用自动映射器有什么好处?

我必须在 C# 项目中使用的域类和发送到 Flash 客户端的类之间进行一些对象到对象的映射。

我的第一选择是 Automapper。但是我遇到了一些问题(嵌套属性,没有定义无参数构造函数)。事实证明,用 Automapper 映射一个非常复杂的类型并不容易。

为什么不实现如下方法?

它与使用 Automapper 完成的映射具有完全相同的灵活性。您仍然必须提供将源对象中的哪个属性复制到目标对象中的哪个属性中。您只需使用=而不是 lambda 表达式来执行此操作。

但是,如果您更改域类中的某些内容,则无论如何都必须更改此“映射”部分。那么,与文字映射相比,使用 Automapper 的主要优势是什么?

0 投票
4 回答
53881 浏览

c# - AutoMapper 与 ValueInjecter

每次我在 StackOverflow 上寻找AutoMapper的东西时,我都会读一些关于ValueInjecter的东西。

谁能告诉我它们之间的优缺点(性能、特性、API 使用、可扩展性、测试)?

0 投票
2 回答
1557 浏览

c# - 字典到对象映射器

是否有任何对象-对象映射器可以映射字典(或其他名称-值集合)中的属性?

假设我有课

我想做的是

这基本上就像 ASP.NET MVC 中的 DefaultModelBinder,它需要大量上下文和元数据相关的东西,因此不太方便。

0 投票
9 回答
278156 浏览

c# - 忽略使用 Automapper 映射一个属性

我正在使用 Automapper,我有以下情况: 类 OrderModel 有一个名为“ProductName”的属性,它不在数据库中。因此,当我尝试使用以下方法进行映射时:

它产生一个异常:

“Project.ViewModels.OrderModel 上的以下 1 个属性未映射:'ProductName'

我在AutoMapper 的 Wiki for Projections上阅读了相反的情况(额外的属性在目标上,而不是在我的实际情况下的源中)

如何避免自动映射器进行此属性的映射?

0 投票
2 回答
578 浏览

c# - 将 IDataReader 映射到没有第三方库的对象

没有第三方库(例如 AutoMapper 或 ValueInjecter),是否有任何快速方法可以将某些 IDataReader 映射到对象?

0 投票
2 回答
941 浏览

objective-c - RestKit 是唯一具有 JSON 到 Objective-C 对象映射的框架吗?

我正在寻找执行 JSON 到 Objective-C 关系对象映射的库或框架。即,我需要将包含对象、对象数组和对象字典的 JSON 映射到我的自定义对象。

就像是:

所以有一个 DataObject 一个 UserObject 和一个由 UserObjects 组成的员工数组。我希望从 JSON 到我的 DataObject 的映射“自动”发生,这当然意味着我想描述 Object 类中的对象和关系并由此完成映射,而不是手动映射每个嵌套目的。(使用 setValue:forKey 和其他 KVO 方法可以轻松完成第一级原生 Objective-c 属性,但从那里开始变得复杂)。

我一直在测试 RestKit,但似乎没有办法从该框架中挑选出你需要的功能,要么全部要么全部不,而且我确实发现它对我的需求来说太多了。

有没有人熟悉可以做到这一点的图书馆等?

先感谢您。