问题标签 [automapper-3]

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

c# - 如何使用类型转换为 automapper 创建表达式以创建 Enum 映射

我有两节课:

source.Employee 和 destination.Employee 。

我的函数目标属性名称中只有两个名称,即destination.TestEnum1 和源属性名称,即source.TestEnum1。

我想动态创建表达式,如下所述。

表情简直了

我正在创建它以在 Project().To(); 中映射 Enum。作为

给出无法将 MyEnum2 映射到 int 32 的异常。

来源员工:

目标员工类别:

0 投票
1 回答
359 浏览

asp.net-mvc-4 - 无法将 Dto 映射到 ViewModel

我正在使用最新版本的 AutoMapper。

Mapper.CreateMap<ArticleDto, EditViewModel>();在我的自动映射器引导程序类中有调用global.asax

这是相同的完整列表:

我花了将近两个小时来弄清楚下面的映射有什么问题。

这是我的控制器中的代码。

这种 Dto 到 ViewModel 的转换失败。

谁能帮我解决这个问题?这是异常详细信息

这是 Mapper.AssertConfigurationIsValid(); 结果成

如上述错误所述,这是我更新映射的方式

即使这样,我也会得到与下面给出的相同的错误。

0 投票
0 回答
203 浏览

c# - 为每个枚举创建 ITypeConverter

所以,基本上我正在尝试创建一个 TypeConverter 以在任何枚举映射中运行。以下代码中的注释解释了我目前遇到的问题。

  • 如果我从字符串映射到枚举我的 TypeConverter 运行。
  • 如果我从字符串映射到状态(枚举),我的 TypeConverter不会运行

我可以在特定枚举映射期间运行 TypeConverter 的唯一方法是为我的命名空间内的每个枚举创建一个映射(CreateMapForEveryEnum() 方法)。但是当然,使用反射对性能不利,应该避免。

0 投票
1 回答
348 浏览

automapper-3 - 使用自动映射器映射 COM 对象

我在从 COM 对象映射到对象时遇到问题。我相信问题在于GetType()COM 对象返回System.__ComObject. 我怎样才能解决这个问题?

0 投票
1 回答
123 浏览

automapper - 自动映射器的 ECCN

我正在构建一个将在海外使用的 C# VS2012 应用程序。我多年来一直在使用 Automapper,并希望继续使用它。交给我的一项规定是,我在 Microsoft 之外的项目的所有附加组件都必须具有已发布的 ECCN(出口控制分类号)。Microsoft为 .NET Framework 4.5 和 Visual Studio 2013发布了 ECCN。它们在导出时受到信任。我一直在为 Automapper 寻找已发布的ECCN,我能找到的最接近的内容是这篇 Google 群组文章,其中 Jimmy Bogard 亲自回应说对于 .NET 框架也是如此。但是,我被要求提供Automapper发布的ECCN,其中会声明如下官方内容:

“Automapper 的 ECCN 是:[x]”。

我查看了Automapper GitHub 站点,但找不到我需要的东西。

有任何想法吗?

0 投票
1 回答
559 浏览

c# - AutoMapper 将枚举映射到 SelectList - 所选值不起作用

我创建了一个映射,它使用 ITypeConverter 的自定义实现将枚举转换为 SelectList。

然后我通过使用创建了一个地图

一切似乎都很好,除了 的Selected价值SelectListItem不保持其价值。我已经能够进入代码,并且SelectListItem sli1它被正确创建,所选值等于true.

映射时的值

但是,当我在映射后检查该值时,该值始终false如您从以下屏幕截图中看到的那样。

映射后的值

这段代码我哪里错了?

0 投票
1 回答
591 浏览

c# - AutoMapper 继承错误

我有以下抽象类

和下面的具体类

这是地图

代码说配置无效,因为

由于ReverseMap()调用而发生错误。如何设置反向映射以忽略成员而不复制映射?

0 投票
0 回答
308 浏览

inheritance - 使用自动映射器继承

Automapper 文档中有一个用于继承的示例,如下所示:

我想做类似的事情,但我不想在域模型中使用继承。我正在使用实体框架,并且我在实体框架中使用继承,直到我发现当你有许多派生实体(我有 30 个)时性能非常糟糕。这个性能问题网上有讲。我想摆脱继承并使用标准的关系模型,但我无法弄清楚我需要做什么才能让它与 Automapper 一起使用。

修改上面的例子,我的情况是这样的:

因此您可以看到,现在域对象不使用继承,而是像标准关系数据库一样简单地相互链接。我仍然希望 DTO 对象使用继承。在这个例子中我将如何使用 Automapper?

0 投票
1 回答
883 浏览

linq - Automapper 多态集合的 IQueryable 扩展行为不同

使用 Automapper 3.3.1.0 的使用之间存在不同的映射Mapper.Map<IEnumerable<TDestination>>(someEnumerable)行为someEnumerable.AsQueryable().Project().To<TDestination>()

这似乎不是 SQL LINQ 提供程序或其他提供程序的限制,因为这在内存中集合中得到了见证。

与许多事情一样,这最好通过示例来解释:

注意: 以下代码可以在https://gist.github.com/kmoormann/b3949d006f4083ab6ee4找到

我了解 IQueryable 扩展存在限制.Project().To<TDestination>但我不知道的是:

  • 哪个限制导致了这种行为?
  • 这是 Automapper 限制还是 LINQ 限制
  • 是否有解决办法仍然使用可查询的扩展而不是Mapper.Map<TDestination>(obj)专门恢复?

为后代:链接讨论主题

0 投票
2 回答
2175 浏览

c# - 如何在构造函数中使用 AutoMapper 映射到“this”

我有一个具有属性的源类型和一个具有完全相同属性的目标类型。

在我为 AutoMapper 配置一个简单的映射后,例如:

我想有一个 MyDestinationType 的构造函数,它有一个 MySourceType 参数,然后使用这样的源自动初始化正在创建的类型的属性:

我发现的唯一解决方法是为

有什么办法可以不产生这种静态的丑陋?