问题标签 [valueinjecter]

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 投票
1 回答
14701 浏览

c# - 哪个更快:Automapper、Valuinjector 或手动映射?每个速度快到什么程度?

假设我的 DAL 中有这个对象(ORM 等)

我有一个看起来像这样的 ViewModel

在这种情况下,我需要展平对象。我可以使用 Automapper、ValueInjector 之类的工具来执行此操作,或者我可以手动执行此操作。如果要处理许多这样的类,这是一项乏味的工作,但似乎在所有三种方法之间存在性能/开发人员效率的权衡。

我正在寻找有关何时使用Automapper、Valueinjector和手动映射的指导。我敢肯定手动映射是最快的,但是要多少呢?

  1. 某些场景是否比其他场景慢得多/快得多(例如扁平化等)?

  2. 采用混合方法在层之间映射对象是否有意义?

我问的原因是因为创建了一个名为 emitmapper 的 Codeplex 项目来解决 automapper 中的性能问题,我记得看到一个评论说 automapper 可能需要 0.5ms 来映射一个大类。(需要参考)

我还记得看到一篇文章描述了如果在 70 毫秒内加载而不是 90 毫秒或更长时间,用户如何更有可能留在您的网站上。(我也在寻找这个链接)。如果 automapper 占用了我大部分的页面加载时间,再加上网络延迟,那么我认为有可能不使用 automapper 并为我的大容量页面创建手动类并坚持使用混合方法。

底线:我会自己运行测试,但我对 .NET 内部的了解不够,无法创建可用作可重用指南的准确结果。

0 投票
1 回答
324 浏览

asp.net-mvc-3 - ValueInjector 未从视图模型映射 ID

我正在使用ValueInjecter将数据从我的视图模型注入到我的实体框架模型中,对于字符串等非 Id,它的效果很好。出于某种原因,它没有从我的视图中映射选择列表中的 ID,一旦映射它们就会显示为空。任何想法为什么?

查看模型

实体框架模型属性

0 投票
2 回答
3039 浏览

wcf - omu.valueinjecter 深度克隆不同类型

我想我缺少 valueinjecter 和/或 AutoMapper 的简单概念,但是如何将父 dto.Entity 深度克隆到 biz.Entity 并包括所有子级?

例如,biz.person.InjectFrom(dto.person)。我希望 dto.person.AddressList 集合复制到 biz.person.AddressList 集合,即使dto.Addressbiz.Address类型不同,但具有相同的属性名称。

我的想法是,如果父属性名称拼写相同,例如 AddressList,那么如果 2 个底层对象属于不同类型,则无关紧要。它仍然会复制同名的简单类型,如 int、string 等。

谢谢你

0 投票
1 回答
812 浏览

asp.net-mvc - ValueInjecter 是否具有这些自动映射器功能?

我目前正在使用自动映射器,我认为它是一个很好的工具,但我不喜欢它无法将视图模型处理为域情况。我必须进入自动映射并映射每一个,这有点糟糕。

我一直在环顾四周并阅读有关 valueinjecter 以及它如何处理这个问题的信息。我想知道它是否可以执行 automapper 具有的这些功能?

  1. 你能做一些像解析器和格式化器这样的东西吗?
  2. 你能结合价值观吗?例如,在客户端我有一个日期时间,但它被分成 2 个不同的文本框(一个有一个时间选择器,一个有一个日期选择器)。当然在数据库中它被存储为一个字段。

所以在我的域中(后来与 nhibernate 一起使用)我有 DateTime DateChoosen。在我的视图模型中,我将有字符串日期、字符串时间。

现在在自动映射器中,我有一个解析器(或我不记得的格式化程序),它接受两个视图模型值并将其转换为 DateTime,然后将其映射到域。

我可以在 valueinjecter 中做这样的事情吗?

我也环顾四周,发现了这个带有 ValueInjecter 的 Automapper 模拟。我想知道这是否具有所有自动映射器功能,或者它是否只是使语法看起来像自动映射器。

如果它实际上也使用 automapper,有谁知道他们是否继续使用最新版本?

0 投票
2 回答
1081 浏览

asp.net-mvc - ValueInjecter 将 ViewModel 映射到域

我正在玩 valueinjecter 并想知道当视图模型具有视图模型集合时如何对域进行视图模型?

说我有这个域

现在我该如何注射?我是否需要使用 valueinjector 手动映射这些?

编辑

在玩了一些之后,我让模拟器开始工作。但是我的与测试中的不同

我必须指定它是一个 IList 否则它似乎永远不会进入我的重写方法。

0 投票
1 回答
147 浏览

architecture - ValueInjecter 架构建议

我对值注入器有点陌生,实际上是整个对象到对象的映射世界。似乎 valueinjecter 是目前更好的选择之一。我想知道映射这种对象的最佳方法是什么

基本上我想要的是来自视图模型的地图值

到我的域实体

我试过这段代码,它可以工作,但不确定它是否是最好的方法

像 valueinjecter 这样的对象到对象映射框架在系统架构中的位置如何?我正在考虑为我的对象映射编写单元测试。

0 投票
1 回答
292 浏览

asp.net-mvc-3 - 使用 InjectFrom 时如何保持源的值

通过将值注入到我的域对象中,我会保留一些属性的值。

例子:

领域模型

查看模型

样本

0 投票
1 回答
829 浏览

.net - .NET 对象映射、对象分组

可以说我有一个像这样的对象列表:

我想通过基于 GroupName 分组将它们映射到以下对象

是否有使用 Automapper、Value Injector 或其他一些对象映射实用程序的直接方法来执行此操作?

0 投票
1 回答
1439 浏览

entity-framework - 实体框架分离对象合并

我有一个场景,我在 WCF 服务中使用实体框架,并且更改发生在通过代码优先映射回数据库的类型的非跟踪实例上(整个实例的对象树中的非平凡更新和删除) )。当我尝试将未跟踪的实例附加到上下文中时,EF 仅识别对根对象上的简单值类型的更改。

有谁知道这种情况的优雅解决方案?我正在寻找一种通过使用通用存储库来做到这一点的方法,并且避免必须遍历实例的整个对象树来管理每个对象的“附加/分离”状态。我考虑过可能使用 ValueInjecter 或 AutoMapper 在“旧”状态的完全水合和跟踪实例上运行更改,以便上下文获取更改。另外,Nhibernate 将如何处理这种情况?

提前感谢您的意见!

更新(2012 年 7 月 31 日): 我更新了代码以处理通用类型的键,以及 EF 代理的一些键入问题。在处理 IEntity 类型时还添加了一些辅助扩展。这个实现并不完美,但它非常实用。

更新(2012 年 3 月 13 日): 我添加了一个功能请求,以便在 EF 中进行更清洁的合并。该请求位于此处: http ://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/2679160-better-merging-change-tracking

更新(2012 年 3 月 12 日): 我在下面发布了我的解决方案。它使用FubuCoreValueInjecter,并要求使用两个接口之一标记实体IEntityIRecursiveEntity用于递归类。该解决方案将处理递归的、自链接的实体。

此外,我正在引用一个通用存储库 (Repository),它允许我获取对 EF 公开的 IDbSet 的引用。这可以用任何其他通用或特定存储库代替。最后,IEntity 接口使用 int? id,但是您可以根据需要定义它(Guid/Guid?)。该解决方案本身并不像我想要的那样优雅,但是当位于物理 WCF 服务边界之后时,它允许更优雅的数据访问代码。

0 投票
2 回答
2661 浏览

asp.net-mvc-3 - Value Injecter 是否映射集合属性?

我正在尝试将 EntityFramework 对象的集合与视图模型的集合进行映射。

使用报告列表下方的代码未映射。我究竟做错了什么?