问题标签 [automapper]

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

silverlight - AutoMapper - 将类库中的对象映射到 silverlight 类库中的对象

我正在尝试使用 automapper 将类库中的对象列表映射到 silverlight 类库中的对象列表。当 AutoMapper 试图反映 silverlight 类库时,我遇到了一个安全异常。

有谁知道解决这个问题的方法?

0 投票
5 回答
63568 浏览

constructor - Automapper - 如何映射到构造函数参数而不是属性设置器

如果我的目标设置器是私有的,我可能想使用目标对象的构造函数映射到该对象。您将如何使用 Automapper 执行此操作?

0 投票
1 回答
1247 浏览

c#-3.0 - 使用 c# 2.0 语法的 AutoMapper

我正在尝试使用 AutoMapper 创建自定义映射,但我不能将 3.0 语法与 lambda 一起使用。如何将此 3.0 代码转换为 2.0 ?

编辑:

由于没有更好的解决方案,我们现在在一台工作站上使用 vs2008 来制作这些映射并构建一个 dll。我希望我们升级到 vs2010 不会太久。

0 投票
3 回答
1572 浏览

c# - AutoMapper:设置成员名称匹配约定

我尝试设置成员名称映射约定,以便以“Id”结尾的源成员映射到没有 Id 的目标成员。例如

用户 ID -> 用户

如何做到这一点?我尝试使用 SourceMemberNameTransformer 没有成功。还尝试使用 RecognizePostfixes()。

0 投票
1 回答
1353 浏览

c# - Automapper 可以将复杂的源图映射到平坦的目标,而目标属性中没有前缀且没有自定义映射?

有没有办法让 Automapper 映射复杂的源图,例如:

到一个看起来像这样的平坦目的地:

我知道这样的事情适用于目的地:

但是,我正在寻找一种映射到目标的方法,而不需要目标属性中的前缀(对于源中的子类),只要源的子类属性中的名称与目标属性名称匹配。有没有办法告诉 Automapper 将源的子类中的属性投影到平面目标类而不映射每个单独的成员?

0 投票
2 回答
1950 浏览

asp.net-mvc - ASP。NET MVC:将实体映射到视图模型

我正在尝试通过使用视图模型来清理 ASP.NET MVC 项目中的操作方法。目前,我的视图模型包含可能与其他实体有关系的实体。例如,ContactViewModel 类可能有一个联系人,它可能有一个地址,两者都是独立的实体。要查询联系人对象列表,我可能会执行以下操作。

这种方法带来了一些问题。例如,在 using 语句中查询存储库。到视图呈现时,上下文已经超出范围,使得视图无法查询与联系人关联的地址。我可以启用急切加载,但我不想这样做。此外,我不喜欢实体模型渗入我的视图(我觉得让我的视图了解联系人和地址之间的关系是个坏主意,但请随意不同意我的观点)。

我考虑过创建一个包含来自联系人和地址实体的属性的增肥类。然后我可以将 Contact 和 Address 实体投影到我的新扁平对象中。我对这种方法的一个担忧是我的操作方法可能会有点忙,而且我认为AutoMapper 无法将两个或多个对象映射到单一类型。

什么技术是/是克服我的担忧的首选?

0 投票
1 回答
3376 浏览

c# - 如何在 AutoMapper 中映射这种父子关系?

我有从 LINQ to SQL 实体派生的父对象和子对象。我想将这些映射到一些对域友好的 DTO。我的 SQL 实体类看起来有点像这样:

SqlEntityParent在此模型中,它是和之间的标准一对多关系SqlEntityChild。一些有代表性的数据是......

家长:

孩子:

现在我想将这些数据映射到我的域对象中,看起来有点像这样:

在这种结构中,单个DomainChild对象由来自两个SqlEntityChild对象的数据组成,分组由Position子实体的值决定。因此,这些样本数据代表一个DomainParent包含两个对象列表的DomainChild对象。第一个孩子的 a 应Position为 1,Contents值为“Things”,Group值为“GroupOne”。第二个孩子应该有一个Position2、一个Contents“Things”和一个Group“GroupTwo”。

我很乐意使用 ValueResolvers 在 AutoMapper 中设置一对一的自定义映射,但我不确定如何最好地处理这个问题。我为父实体创建了下面的解析器和关联映射,它一次性映射整个子实体列表,但这似乎很愚蠢,因为我必须在这个解析器类中手动完成子对象的整个映射。

所以,我的主要问题是:在这种情况下,这是我能用 AutoMapper 做的最好的事情,还是有其他更有效的方法可以使用?

0 投票
1 回答
1826 浏览

enums - AutoMapper:将具体子类的 Source 属性映射到 Destination 类中的 EnumValue

我想为以下类定义一个映射(甚至是 TypeConverter/Resolver): 目的地:

来源:

如果我想根据具体的源类型在 Destination 类中指定 DestinationEnum 的目标值,AutoMapper Mapping 会是什么样子?例如

  • 如果映射器从类“Source”映射到“Destination”,则 Destination.EnumProperty 应设置为“undefined” if Source.SourceEnumVal == fu
  • 如果映射器从类“source”映射到“Destination”,则 Destination.EnumProperty 应设置为“oneValue”,如果 Source.SourceEnumVal == “ba”
  • 如果映射器从类“ConcreteSource”映射到“Destination”,则 Destination.EnumProperty 应设置为“oneValue” if ConcreteSource.ConcreteSourceEnumVal == “second”
  • 如果映射器从类“ConcreteSource”映射到“Destination”,则 Destination.EnumProperty 应设置为“undefined” if ConcreteSource.ConcreteSourceEnumVal != “second”
0 投票
2 回答
1873 浏览

c# - 使用 DTO 和实体是否违反 DRY 原则?

我正在查看一个名为Automapper的库。我对此有一些担忧:

  1. 我们不想暴露我们的数据模型(好)。为什么数据模型应该与您的数据库非常相似?

  2. 使用轻量级 DTO 而不是您的实体。(好的)

  3. 现在我需要将我的实体映射到这些 DTO。我尊重 DRY 原则吗?

0 投票
1 回答
675 浏览

asp.net-mvc - Asp.Net MVC + NHibernate + Widget 插件架构

更新:

这是对我最初的问题(或缺少)的重写,我目前遇到的主要问题是,当将我的 Widget 域模型映射到正确的 ViewModel 时,我必须这样做,这绝对不是正确的解决方案...

因为我传入了 BaseClass(尽管我知道我可以安全地向下转换正确的类型),所以我需要执行一个大的 switch 语句来使用正确的类映射 Widget 视图模型。

我需要以某种方式使其更具动态性,以便它可以自动拾取要使用的正确类,我确信有一种方法可以使用泛型/反射来做到这一点,如果你认为我正在解决这个问题,我愿意接受建议错误道。