问题标签 [emitmapper]

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 投票
3 回答
4830 浏览

c# - .net 中的对象复制方法:自动映射器、发射映射器、隐式操作、属性复制

如果有人知道在 .NET 中执行此操作的更多方法,那么您对这些方法有何看法?您选择哪种方法,为什么?

以下是 .NET 中不同对象复制方式的测试。

与此原始线程相关的测试:如何在 c# 中将值从 X 类复制到具有相同属性名称的 Y 类?

所以,在这里,你可以自己运行它:

在我的电脑上测试结果:

测试自动映射器:22322 毫秒

测试隐式运算符:310 ms

测试属性复制:250 毫秒

测试发射映射器:281 毫秒

你可以从这里得到 emit 和 auto 映射器:

http://emitmapper.codeplex.com/

http://automapper.codeplex.com/

0 投票
1 回答
2235 浏览

asp.net-mvc-2 - 从 AutoMapper 到 Emit Mapper

我最近发现了 AutoMapper 用于桥接 ViewModel 和我的实际数据库对象。我以这里描述的方式使用它:http://automapper.codeplex.com/wikipage ? title=Projection&referringTitle=Home

我发现 Emit Mapper to :),但我找不到任何类似于(我可以在其中指定自定义投影规则):

提前致谢!

0 投票
1 回答
883 浏览

c# - 具有对象源类型的 EmitMapper

我需要使用具有不同类型的发射映射器。对于默认值,它需要两种通用类型:

我需要做这样的事情:

0 投票
2 回答
2022 浏览

c# - EmitMapper 的集合列表映射问题

源类:

目标类别

我尝试使用 EmitMapper 相互映射;从source映射到desction时,代码示例如下:</p>

我有一个例外,

测试方法 mBlog.Test.EmitMapperTest.ShouleMapEntityToModel 抛出异常:System.Exception:System.Collections.Generic.IList`1[[mBlog.Core.Models.Post, mBlog.Core, Version=1.0 中找不到类型 [] 的构造函数.0.0,文化=中立,PublicKeyToken=null]]

0 投票
0 回答
511 浏览

.net - EmitMapper:派生类的映射数组

假设我们有以下类层次结构

我还有一个服务,它返回一个真正包含 A1 和 A2 实例的 DtoBaseClass 数组。我应该如何将此数组映射到 DomainClass 实例数组并保存 B1 <-> A1、B2 <-> B1 之间的关系?

在默认配置中,我将获得一个 DomainClass 数组并释放派生类的所有属性。

我使用此代码进行映射:

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 投票
2 回答
1930 浏览

emitmapper - EmitMapper 和列表

这是我第一次使用 EmitMapper。我有一个对象列表,例如:客户,我想将此列表映射到 CustomerDTO 的可枚举中,我该怎么做?肿瘤坏死因子

0 投票
2 回答
3909 浏览

c# - 发射映射器讨人喜欢和属性名称不匹配

如何使用 Emit Mapper 将 User 类映射到 UserModel 类?

有几个问题:

  • 我需要展平对象,以便拥有 CompanyId 而不是 Company 对象。
  • 公司对象具有属性 ID,在 UserModel 中我有与公司 ID 对应的 CompanyId,但属性名称不匹配。
  • 我需要映射List<Role>List<RoleModel>
0 投票
1 回答
1326 浏览

c# - 使用自定义转换器发射映射器

由于某种原因,使用此配置时,自定义转换器的 Conver 函数在使用 EmitMapper 示例中的 FlatteringConfig 时不会被调用。它在使用 DefaultMapConfig 时被调用。

配置:

关于潜在原因的任何想法?

解决方案

下面看看我的回答

0 投票
1 回答
1006 浏览

emitmapper - 在映射时发出映射器忽略成员

我正在使用 Emit 映射器将值从一个对象复制到另一个对象。

当我映射对象时,我需要忽略某些字段被映射/复制。要忽略的字段会根据场景不断变化。

如何在 EmitMapper 中做到这一点?.Map 方法本身不采用任何附加参数来忽略某些属性。我可以使用 DefaultMapConfig 指定要忽略的字段,但这是静态的,在映射期间无法更改。

请帮忙。