问题标签 [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.
c# - AutoMapper:将多对多关联映射到 DTO(是否支持展平集合项?)
我在团队和员工之间有多对多的关联。
我想将其映射到以下 DTO。
所以 TeamName 是必须映射的那个。
我使用以下映射代码:
问题是 Employee.Teams 成员。顺便说一下,Teams 集合是急切的。所以它就在那里。
当 Teams 为 Null 时,我会收到 NullReference 异常。
如何将团队名称映射到 DTO?
编辑:现在我离开 Automapper 并改用这个繁琐的代码:
对我来说,这闻起来很刺鼻……
c# - 将一种类型的列表映射到另一种类型
对于我的对象,我使用的是具有 BrokenRulesCollection 属性的 Csla。我想将其转换为我自己的具有 StatusMessages 属性的 DTO。
我创建了自己的解析器:
在映射中,我让它知道使用哪个解析器:
但是,当我尝试进行映射时:
我收到以下错误:
提供的值是 Csla.Validation.BrokenRulesCollection 类型,但需要 Favs.DomainObjects.Members.MemberRegistration。更改值解析器源类型,或使用 FromMember 将提供的源值重定向到值解析器。
有什么建议么?
编辑:
作为跟进,我也尝试创建一个转换但仍然得到相同的消息:
并配置如下:
c# - 最佳实践:如何在视图中以干净的方式显示多对多关联?
我正在使用 NHibernate,并且员工和团队之间存在多对多关联。
现在我想显示所有员工及其团队成员的姓名。
可能性一:
- 使用 AutoMapper 并创建一个包含 Employee 属性和团队名称的 DTO(渴望加载团队)
- 在视图中显示 DTO
可能性2:
- 创建一个名为 EmployeeTeam 的新实体并将其与 NHibernate/FluentNHibernate 映射(该实体充当数据库中 Employee 和 Team 之间的关系表)
- 使用急切加载加载 TeamEmployee 包括 Employee 和 Team
- 显示 EmployeeTeam 实体
- 使用 EmployeeTeam 成员 (EmployeeTeam.Employee.Name, EmployeeTeam.Team.Name)
可能性3:
- 作为可能性 1 和 2
- 为 EmployeeTeam 使用 DTO
可能性4:
- 使用 ICriteria API
- 使用 AliasToBeanResultTransformer (没有使用这个)
可能性5:
- 使用 LINQ 到 NHibernate
- 我想我仍然需要 EmployeeTeam 实体(目前不在我的领域模型中)
这个问题的最佳实践是什么?
还有其他建议吗?
c# - 如何在 AutoMapper 中为集合使用解析器?
我想将我的一些域对象映射回 ORM (LLBLGen) 实体,为此我正在使用 AutoMapper。域对象包含集合,AutoMapper 文档指出我们不必担心它们,只需关心它们包含的类型。情况并非总是如此……
尝试映射到集合时,我收到一个 LLBLGen 错误,指出不允许清除 ListSource,我们应该使用关联的集合。所以发生的事情是 AutoMapper 似乎将 LLBLGen 集合用作ListSource 类型,其中 LLBLGen 覆盖了 Clear 方法(不允许使用)。
创建解析器并不能解决这个问题,因为目标集合是只读的,所以完全替换它是行不通的。
我需要的是一种自定义AutoMapper 映射集合方式的方法。这是在集合级别,而不是类型级别。
c# - 使用 Moq 模拟 AutoMapper Mapper.Map 调用
在 AutoMapper 中为 Map 函数设置模拟期望的最佳方法是什么?
我提取了 IMapper 接口,以便为该接口设置期望。我的映射器有依赖关系,所以我必须将它们传递给映射器。
当我使用 2 个不同的依赖项实现创建映射器类的 2 个实例时会发生什么?我假设两个映射器都将使用相同的依赖实例,因为 AutoMapper 映射是静态的。或者 AutoMapper 甚至可能会抛出异常,因为我尝试使用相同的对象设置 2 个不同的地图。?
解决这个问题的最佳方法是什么?
web-services - 在哪里放置 web 服务的自动映射器配置?
我读到 Web 服务没有 global.asax 来配置全局设置(如自动映射器配置)。所以我的问题是:
我应该将 automapper 配置放在每个 webmethod 中,还是有一个可以全局放置的地方?
我每晚都会调用几千次的网络服务,所以我担心如果自动映射器配置很昂贵,它会花费更长的时间。我是正确的还是只是不必要地担心?
谢谢,约翰
automapper - AutoMapper 是否支持 ReadOnlyCollections?
我尝试了各种配置,但无法使其正常工作。我想知道它是否支持?
c# - Automapper:更新属性值而不创建新对象
如何在不创建新对象的情况下使用 automapper 更新另一个对象的属性值?
c# - Mapping all properties of 'X' type with AutoMapper
I've just started using AutoMapper and so far found it very straight-forward and time-saving.
Just one thing I'm not sure about - how do I map all the properties of a given type in the same way?
Can this be done with AutoMapper in a single statement, using a lambda, as with regular mapping?
asp.net - 从 googlecode 签出 AutoMapper 的正确网址是什么?
我指的是 Jimmy Bogard 的这个项目:http: //www.codeplex.com/AutoMapper
代码存储库站点是:http ://code.google.com/p/automapperhome/source/checkout
指示的结帐命令是: svn checkout http://automapperhome.googlecode.com/svn/trunk/automapperhome-read-only
这不起作用。
我已经尝试过 SlikSVN、Tortoise SVN、QSVN 以及可能我已经忘记的其他方法。
客户:乌龟SVN
网址:svn://automapperhome.googlecode.com/svn/trunk/ automapperhome-read-only
结果
将“svn://automapperhome.googlecode.com/svn/trunk/automapperhome-read-only”签出到“C:\Development\MVC\automapper”无法连接到主机“automapperhome.googlecode.com”:连接尝试由于连接方一段时间后没有正确响应而失败,或者由于连接的主机没有响应而建立连接失败。
客户:SlikSVN
命令:
C:\Program Files\SlikSvn\bin>svn checkout http://automapperhome.googlecode.com/svn/trunk/ automapperhome-read-only c:development\automapper
结果:
svn:'http://automapperhome.googlecode.com/svn/trunk'的选项:200 OK ( http://automapperhome.googlecode.com )
命令:
C:\Program Files\SlikSvn\bin>svn checkout svn://automapperhome.googlecode.com/svn/trunk/ automapperhome-read-only c:development\automapper
结果:
svn: Can't connect to host 'automapperhome.googlecode.com': 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
我不知所措。我需要在路由器上打开一个默认端口才能使其正常工作。我只在路由器的防火墙后面。任何帮助,将不胜感激。谢谢。
更新了为 sliksvn 尝试的其他命令:
C:\Program Files\SlikSvn\bin>svn checkout svn://automapperhome.googlecode.com/svn/trunk/ c:development\automapper
svn: Can't connect to host 'automapperhome.googlecode.com': 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
C:\Program Files\SlikSvn\bin>svn checkout svn://automapperhome.googlecode.com/svn/trunk/
svn: Can't connect to host 'automapperhome.googlecode.com': 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
C:\Program Files\SlikSvn\bin>svn checkout svn://automapperhome.googlecode.com/svn/trunk/automapperhome-read-only c:development\automapper
svn: Can't connect to host 'automapperhome.googlecode.com': 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
*************更新 3************************ 奇数。我在工作时在 Qsvn 上运行了简单的 checkout 命令,它把所有东西都拉进去了。我家用机器的设置肯定有问题,但我不确定是什么。我将研究使用 Fiddler 来检查发生了什么。谢谢你们的帮助。我知道这可能让你和我一样感到沮丧。没有什么比不应该工作更令人讨厌的了,但我敢肯定,我这样做有一些奇怪的地方。