问题标签 [automapper-2]

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

c# - AutoMapper:将子成员从复杂类型映射到字符串 []

我有一个带有 string[] 属性的目标类型。

我的源对象是:

如何将BarkTypes.NameOfBark映射到string[] Barks

像这样的东西:?

0 投票
1 回答
1935 浏览

c# - 自定义复杂类型的 AutoMapper

我有两种复杂类型:一种是作为 ViewModel 的服务层,另一种是在存储库层。它们的定义如下:

具有 SettingsDetailsModel 以及 SettingDetails 为:

和 SideStoneDetailsModel 和 SideStoneDetails 为:

现在,在从实体映射到模型时,它抛出了一个 AutoMapper 异常,说明:

现在,映射器实现包含

基本上它的自定义类型列表失败了。我不明白哪里出了问题:到目前为止我发现的是:

  • 为不同的类型添加单独的映射。查看 !
  • 自定义映射器函数 - 但为什么呢?在这种情况下,我不知道为什么要这样做?

我该如何解决?我想从 REPOSITORY Entity 映射到我的 VIEWMODEL

0 投票
3 回答
1234 浏览

c# - 使用空间类型和自动映射器时如何优化实体框架查询?

我正在建造的东西并不是很独特。简而言之,我正在使用 ASP.NET MVC 4(Web Api)和 Entity Framework 5(具有空间支持)在 Azure 中创建一个类似 FourSquare 的小型服务。所以我使用的是 SQL Azure,而不是像 MongoDB 或 CouchDB 这样的 NoSQL 数据库之一。部分是因为我对 .NET 更流利/熟悉,部分是为了了解开发经验(重构、部署、测试),部分是为了了解它将如何与例如。节点.js/MongoDB。

现在让我们看一些代码。

我认为我需要澄清几件事。locationEntityRepository.GetAll外观是这样的。

现在代码真的闻起来很时髦。理想情况下,我希望能够使用 anGetAllIncluding(c => c.Checkins)而不是该GetAll方法,并且能够用于AutoMapper在 LINQ 投影中进行映射。

我知道在使用子查询时,Include + LINQ/EF 返回 null 是设计使然。在 LINQ/EF 查询中使用 automapper 应该Project().To<>使用.ForMember.

因此,挑战在于使代码更高效(当需要更改我的 JSON 结构时,更少的 SQL 和易于维护。请记住,我们在这里试图击败 node.js/MongoDB ;)我应该打扰还是保留它是?

0 投票
0 回答
401 浏览

c# - Automapper 2 - 将实体展开为 VM

我有一个平面 POCO 实体和一个结构化视图模型(用于使用自定义 EditorFor 助手呈现表单)。

Automapper 2 中有没有更简单的方法来做这样的事情:

我想要实现的是将人员和地址字段展开为视图模型,然后使用 EditorFor 进行渲染。

将其展平回数据库效果很好,但我无法按照惯例让展平工作......

编辑

我还有一个在这里使用的 IgnoreAllUnexisting 扩展,它是这样实现的:

无论如何,我也尝试了没有那个扩展名,结果是一样的——复杂类型中的一堆空值。

0 投票
1 回答
48 浏览

automapper - 需要 AutoMapper 建议

我有以下课程

我想做从目标类的自动映射。我看到的挑战是将联系人号码列表转换为目标类中的独立字段。有人可以建议方法吗?提前致谢。

0 投票
3 回答
321 浏览

c# - 使用 AutoMapper 将视图模型映射到模型接口

我在下面创建了一个 AutoMapper 映射配置类代码:

当我导航到 MilitaryBrochureViewModel 时,我将 MilitaryBrochureViewModel 中的字段 Rank 映射到 IBrochureModel 界面中的变量 JobTitle 它告诉我我尚未完全实现该界面是否需要在视图模型或界面或两者中放置任何东西来告诉他们我使用 AutoMapper 在这两个变量之间创建映射?

以下是我正在使用的 ViewModel 和接口:

视图模型

界面

0 投票
2 回答
1129 浏览

c# - 在 AutoMapper 中使用上下文值进行投影

我目前正在评估 AutoMapper 是否对我们的项目有益。我正在使用 ASP.NET Web API 开发一个 RESTful Web API,我必须返回的一件事是包含链接的资源。考虑这个简化的示例,使用以下域对象:

我需要将它映射到一个资源对象中,有点像 DTO,但添加了属性以促进 REST。这就是我的资源对象的样子:

Links 属性需要包含指向相关资源的链接。现在,我可以使用以下方法构建它们:

...但这很乏味,而且我有很多嵌套资源等。我看到的问题是我不能使用 AutoMapper,因为它不允许我提供投影期间所需的某些东西,这些东西的范围仅限于执行映射操作的点。在这种情况下,ApiController 的 Url 属性提供了我需要为我创建链接的 UrlHelper 实例,但可能还有其他情况。

你将如何解决这个难题?

PS 我专门为这个问题输入了这段代码,它在你的脑海中编译,但在你最喜欢的 IDE 中可能会失败。

0 投票
1 回答
86 浏览

c# - 当我只想更新主模型时,保存模型是级联更新

我正在使用 C# Web API,并且正在使用存储库标准保存到数据库。下面是我用来更新数据库的简短示例。因此,我使用 automapper 在用户与 getuser 区域之间进行扁平化。因此,当我尝试使用 UpdateUser 模型更新例如用户名时。我使用 automapper 从 updateuser 映射到用户。当我尝试保存时,它总是给我更新区域的错误。我相信我需要 User 模型中的区域,因为我需要它在 User 之间自动映射到 getUser 并获取区域。

我不想更新区域。我不明白如何从这个前进。让我知道我是否可以这样做以及解决方案是什么。

0 投票
1 回答
191 浏览

c# - 如何从存储库或自动映射器中的另一个表中提取数据?

我本质上是在尝试找到一种干净的方法来从另一个表中提取数据。下面是我的模型的简化版本。我的目标是将平台名称放在用户平台中。我想要最干净的方法来做到这一点,所以我假设使用自动映射器或直接在我的存储库中。

当我尝试在用户平台中放置对平台的虚拟引用时,我的代码收到一个错误,我们有一个级联删除循环。

关于如何解决这个问题的任何想法?

0 投票
1 回答
463 浏览

asp.net-mvc - Automapper在双重失败?财产

我正在使用 AutoMapper 将域对象映射到控制器中的 ViewModel 对象。一切正常,直到我尝试添加双倍?特性。我已经开始收到以下错误:

我的 Address 类和 AddressModel 类都有两个属性,称为经度和纬度。这些属性(在两个类中)被定义为 double?。如果我注释掉这些属性,一切正常。如果我将所有这些属性简单地加倍,那么一切正常。只是双倍?这导致了问题。

我正在使用通过 NuGet 下载的AutoMapper 2.2.1 。

我在其他帖子中读到,这个 nullables 问题应该得到解决。这让我相信我可能会做一些不同的事情,所以我将发布我的代码,看看是否有人能看到可能是问题的东西:

领域模型

查看模型

在我的控制器中映射代码

有没有其他人经历过这种情况或找到解决方案?