Tag: #automapper

使用DataContractSerializer序列化接口列表

我有一个类,其中有一些嵌套类。 我将它序列化并使用没有问题的方法将其发送到wcf服务。 这是class级; public class ComputerDTO { [DataMember] public ComputerTypeDTO Type { get; set; } [DataMember] public string ComputerName { get; set; } [DataMember] public MonitorDTO Monitor { get; set; } } 这是方法; public void Check() { Computer c = new Computer(); ISystemInfoOperations cli = GetServiceClient(); Mapper.CreateMap(); Mapper.CreateMap(); Mapper.CreateMap() .ForMember(s => s.Hardware, m => m.MapFrom(q […]

AutoMapper将源子列表中的对象映射到目标子实体集合中的现有对象

我有以下情况: public class Parent : EntityObject { EntityCollection Children { get; set; } } public class Child : EntityObject { int Id { get; set; } string Value1 { get; set; } string Value2 { get; set; } } public class ParentViewModel { List Children { get; set; } } public class ChildViewModel { int […]

带有Ninject的AutoMapper

我一直在尝试设置AutoMapper来通过Ninject实例化所有对象。 我在global.asax文件中有以下代码 Mapper.Configuration.ConstructServicesUsing(x => kernel.Get(x)); 作为一个例子,我有以下映射 Mapper.CreateMap(); 但是,这似乎不起作用。 我得到一个’IndexViewModel’没有默认构造函数的错误。 我可以通过显式告诉automapper在映射中使用ninject来使映射器工作。 Mapper.CreateMap().ConstructUsingServiceLocator(); 但是,我宁愿不必为每个映射执行此操作。 我错过了什么吗?

自动映射从一个对象到嵌套对象的映射

使用Automapper 2.0映射内部对象的最佳方法是什么? 使用此问题中的解决方案(Automapper 1.0) 创建自定义值解析器 ? public class DTOObject { // MainObject public int Id { get; set; } public string Name { get; set; } // SubObject (TopObject) public string TopText { get; set; } public string TopFont { get; set; } // SubObject (BottomObject) public string BottomText { get; set; } public string […]

AutoMapper:将接口映射到抽象类 – 这可能吗?

我正在使用AutoMapper在我的应用程序的不同层之间映射对象。 一方面我有一个如下所示的界面: public interface MyRepo { IEnumerable GetItems(param); } IRootObject看起来像这样: public interface IRootObject { int Id { get; set; } DateTime? Date { get; set; } } public interface IFirstSubObject : IRootObject { string MyFirstProp { get; set; } } public interface ISecondSubObject : IRootObject { string MySecondProp { get; set; } } 所以GetItems()调用实际上只返回一个IxxxSubObjectItems数组。 另一方面,结构如下所示: […]

Automapper,Mapper未初始化。 使用正确的配置调用初始化

当我尝试将数据提交到数据库时,我收到以下错误: {“Success”:false,“Error”:true,“ErrorType”:2,“Message”:“System.InvalidOperationException:Mapper未初始化。使用适当的配置调用Initialize。如果您尝试通过容器使用映射器实例或否则,请确保您没有对静态Mapper.Map方法的任何调用,并且如果您使用ProjectTo或UseAsDataSource扩展方法,请确保传入适当的IConfigurationProvider实例。\ r \ n在AutoMapper.Mapper.get_Instance ()\ r \ n在AutoMapper.Mapper.Map(对象源,对象目标,类型sourceType,类型destinationType)\ r \ n在GoalPear.Web.Areas.PM.Controllers.CompanyController.SaveData(CompanyFormViewModel companyFormViewModel) 请告诉我为什么我会收到这个错误,因为我无法在这么多努力之后搞清楚。 这是我的控制器代码 public CompanyController() { } private readonly ICompanyService _companyService; public CompanyController(ICompanyService companyService) { _companyService = companyService; } 这是控制器中的SaveData方法 [HttpPost] public JsonResult SaveData(CompanyFormViewModel companyFormViewModel) { try { int? id = null; Company company; if (companyFormViewModel.Id == null) { company = new Company(); […]

automapper – 如果属性类型与同一属性名称不同,则忽略映射 – C#

如果属性类型与同一属性名称不同,我如何忽略映射? 默认情况下,它会抛出错误。 Mapper.CreateMap(); Model = Mapper.Map(EntityAttribute); 我知道一种方法来指定要忽略的属性名称,但这不是我想要的。 .ForMember(d=>d.Field, m=>m.Ignore()); 因为将来我可能会添加新属性。 所以我需要忽略具有不同数据类型的所有属性的映射。

使用AutoMapper中的上下文值进行投影

我目前正在评估AutoMapper是否对我们的项目有益。 我正在使用ASP.NET Web API开发RESTful Web API,我必须返回的一个内容是包含链接的资源。 考虑这个简化的示例,使用以下域对象: public class Customer { public string Name { get; set; } } 我需要将它映射到一个资源对象,有点像DTO,但增加了属性以方便REST。 这是我的资源对象可能是这样的: public class CustomerResource { public string Name { get; set; } public Dictionary Links { get; set; } } Links属性需要包含相关资源的链接。 现在,我可以使用以下方法构建它们: public IEnumerable Get() { Func map = customer => new CustomerResource { Name […]

我是否正确使用Automapper 2.0的Includefunction?

我不是,或者它不工作……我有一个Source类,我想要映射到彼此inheritance的多个视图。 基本类是Detail,子类是Edit或Update,它使用与Detail相同的所有数据,还有一些其他字段来管理自己的列表或其他。 这是我正在使用的地图: Mapper.CreateMap() .Include() .Include() .ForMember(dest => dest.Priority, opt => opt.MapFrom(src => src.Priority.Code)) .ForMember(dest => dest.TicketID, opt => opt.MapFrom(src => src.ID)) .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StatusCode)) .ForMember(dest => dest.Category, opt => opt.MapFrom(src => src.ProblemCategoryCode)) .ForMember(dest => dest.crmBusCode, opt => opt.MapFrom(src => src.Company.crmBusCode)) .ForMember(dest => dest.TeamMembers, opt => opt.MapFrom(src => src.Schedules.Where(s => […]

自动映射:映射到受保护的属性

我需要使用Automapper到类的protected属性。 我在这个类上public了一个public方法,用于为属性设置值。 此方法需要parameter 。 如何将值映射到此类? 目的地类: public class Policy { private Billing _billing; protected Billing Billing { get { return _billing; } set { _billing = value; } } public void SetBilling(Billing billing) { if (billing != null) { Billing = billing; } else { throw new NullReferenceException(“Billing can’t be null”); } } } 这是我的Automapper代码(伪代码)的样子: […]