草庐IT

automapper-5

全部标签

c# - AutoMapper继承和Linq

我一直在研究如何在AutoMapper中使用继承,但我正在努力让它与Linq完全兼容。这是我的代码:我在这里定义了我的映射:CreateMap().Include();ArticleDetailsViewModel是ArticleNewsItemDetailsViewModel的基类。现在问题就出在这里,如果我有:CreateMap();View模型中的所有属性都会自动映射,因为它们与对应的Linq对象同名。但是,因为我使用的是Article=>ArticleNewsItemDetailsViewModel映射,所以这是不可能的,相反我必须将每个定义为:.ForMember(x=>x.

c# - AutoMapper继承和Linq

我一直在研究如何在AutoMapper中使用继承,但我正在努力让它与Linq完全兼容。这是我的代码:我在这里定义了我的映射:CreateMap().Include();ArticleDetailsViewModel是ArticleNewsItemDetailsViewModel的基类。现在问题就出在这里,如果我有:CreateMap();View模型中的所有属性都会自动映射,因为它们与对应的Linq对象同名。但是,因为我使用的是Article=>ArticleNewsItemDetailsViewModel映射,所以这是不可能的,相反我必须将每个定义为:.ForMember(x=>x.

c# - AutoMapper 区分大小写还是不区分大小写?

如果对象a有一个名为“Id”的属性,而对象b有一个名为“ID”的属性,AutoMapper是否会正确映射这两个属性(无需执行.ForMember(...)调用)? 最佳答案 主干版本现在默认不区分大小写,并支持多种命名约定(驼峰式、小写下划线等)。在下一版本的AutoMapper中寻找它,它应该会在几天内掉落。 关于c#-AutoMapper区分大小写还是不区分大小写?,我们在StackOverflow上找到一个类似的问题: https://stackover

c# - AutoMapper 区分大小写还是不区分大小写?

如果对象a有一个名为“Id”的属性,而对象b有一个名为“ID”的属性,AutoMapper是否会正确映射这两个属性(无需执行.ForMember(...)调用)? 最佳答案 主干版本现在默认不区分大小写,并支持多种命名约定(驼峰式、小写下划线等)。在下一版本的AutoMapper中寻找它,它应该会在几天内掉落。 关于c#-AutoMapper区分大小写还是不区分大小写?,我们在StackOverflow上找到一个类似的问题: https://stackover

c# - AutoMapper 在 IQueryable 上调用 ProjectTo<T>() 时抛出 StackOverflowException

我使用EFCodeFirst创建了具有彼此集合的类。实体:publicclassField{publicintId{get;set;}publicstringName{get;set;}publicvirtualListTeachers{get;set;}publicField(){Teachers=newList();}}publicclassAppUser{publicintId{get;set;}publicstringEmail{get;set;}publicstringPassword{get;set;}publicstringUserName=>Email;publicvi

c# - AutoMapper 在 IQueryable 上调用 ProjectTo<T>() 时抛出 StackOverflowException

我使用EFCodeFirst创建了具有彼此集合的类。实体:publicclassField{publicintId{get;set;}publicstringName{get;set;}publicvirtualListTeachers{get;set;}publicField(){Teachers=newList();}}publicclassAppUser{publicintId{get;set;}publicstringEmail{get;set;}publicstringPassword{get;set;}publicstringUserName=>Email;publicvi

c# - 如何为每个 AppDomain 配置一次 AutoMapper

我当前的项目包含域模型、MVC网络应用程序和单元测试的程序集。如何设置AutoMapper配置,以便所有程序集都引用相同的配置?我想我可以将项目放入Web应用程序的Global.asax中,但我如何在单元测试中使用它?另外,如果配置在Global.asax中,领域模型会选择map吗?非常感谢,凯夫狗。 最佳答案 我们所做的是创建一个静态类,类似于BootStrapper,并将初始化代码放在其中的静态方法中。我们正在做配置文件,所以你在那里看不到太多。Global.asax将在启动时调用它,域将使用它(因为配置是单例的),并且需要它的

c# - 如何为每个 AppDomain 配置一次 AutoMapper

我当前的项目包含域模型、MVC网络应用程序和单元测试的程序集。如何设置AutoMapper配置,以便所有程序集都引用相同的配置?我想我可以将项目放入Web应用程序的Global.asax中,但我如何在单元测试中使用它?另外,如果配置在Global.asax中,领域模型会选择map吗?非常感谢,凯夫狗。 最佳答案 我们所做的是创建一个静态类,类似于BootStrapper,并将初始化代码放在其中的静态方法中。我们正在做配置文件,所以你在那里看不到太多。Global.asax将在启动时调用它,域将使用它(因为配置是单例的),并且需要它的

c# - 使用 Moq 模拟 AutoMapper Mapper.Map 调用

在AutoMapper中为Map函数设置模拟期望的最佳方法是什么。我提取了IMapper接口(interface),这样我就可以为该接口(interface)设置期望值。我的映射器有依赖项,所以我必须将它们传递给映射器。当我使用2个不同的依赖项实现创建2个映射器类实例时会发生什么?我假设两个映射器将使用相同的依赖实例,因为AutoMapper映射是静态的。或者AutoMapper甚至可能会抛出异常,因为我尝试使用相同的对象设置2个不同的map。?解决这个问题的最佳方法是什么?publicinterfaceIMapper{TTargetMap(TSourcesource);voidVal

c# - 使用 Moq 模拟 AutoMapper Mapper.Map 调用

在AutoMapper中为Map函数设置模拟期望的最佳方法是什么。我提取了IMapper接口(interface),这样我就可以为该接口(interface)设置期望值。我的映射器有依赖项,所以我必须将它们传递给映射器。当我使用2个不同的依赖项实现创建2个映射器类实例时会发生什么?我假设两个映射器将使用相同的依赖实例,因为AutoMapper映射是静态的。或者AutoMapper甚至可能会抛出异常,因为我尝试使用相同的对象设置2个不同的map。?解决这个问题的最佳方法是什么?publicinterfaceIMapper{TTargetMap(TSourcesource);voidVal