让我们假设我有这些类型: public class MetadataList1 : List<KeyValuePair<string, string>>
{
}
public class MetadataList2 : List<KeyValuePair<string, string>>
{
} 我希望能够使用最新版本的Automapper (10.1.1)将其中一个映射到另一个: var metadataList = _mapper.Map<MetadataList2>(metadataList1); 但不复制列表项,则结果
我使用Automapper通过ProjectTo<>()将DB实体从实体框架映射到业务对象。现在,我希望将可为零的十进制映射为类类型,并且不希望为每个对象中的每个属性指定这两种类型的手动映射,所以我决定使用自定义类型转换器,Automapper将完成这项工作。当一个decimal?属性有值时,它可以很好地工作,但是当它是null ( DB表列允许Null)时,它抛出一个异常,上面写着"Null TypeMapping in Sql“,而转换器的Convert()方法根本不被调用。守则如下:
基本类类型和派生(众多类之一)
public abstract class Base
我已经磨蹭了一段时间了,我似乎没办法把这件事办好。
考试课程:
public class SourceTest
{
public int ID { get; set; }
public Int32 BVAL { get; set; }
}
public class DestinationTest
{
public int ID { get; set; }
public Nullable<bool> BVAL { get; set; }
}
这样做是可行的:
SourceTest t = new SourceTest( );
t.ID = 1;
我很难将不同的具体类型映射到automapper中的单个接口集合。例如: 域: public interface INameInterface {
string Name;
}
public class FullName: INameInterface {
string Name;
}
public class FirstNameOnly: INameInterface {
string Name;
}
public class MyDomain {
List<INameInterface> Names;
} DTO: public clas
假设我有一个域名:
public class EmbeddedInBar
{
public string Name { get; get; }
public ICollection<int> ListOfInts { get; set; }
}
public class Bar
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<int> ListOfInts { get; set; }
public Embe
以下是我的类:
public class EventLog {
public string SystemId { get; set; }
public string UserId { get; set; }
public List<Event> Events { get; set; }
}
public class Event {
public string EventId { get; set; }
public string Message { get; set; }
}
public clas
AutoMapper版本#为7.0.0。
选修下列课程:
public class Person
{
public string Name { get; set; }
public List<BarBase> BarList { get; set; }
}
public class PersonModel
{
public string Name { get; set; }
public List<BarModelBase> BarList { get; set; }
}
abstract public class BarBase
{
我有一个简单的任务:把一个类映射到另一个类。对于某些字段,我有复杂的逻辑,依赖于2个或多个字段,因此,我尝试使用ConvertUsing ()。
我使用AutoMapper 10.0.0
我的代码是:
来源类别:
public class DeviceStatusHistory
{
public DeviceStatusHistory()
{
DateChange = DateTime.UtcNow;
}
public int Id { get; set; }
public int DeviceId { get; set; }
假设我有两个具有相同属性集的类:
public class MyDto
{
public int Id { get; set; }
public DateTime CreatedOn { get; set; }
}
public class MyViewModel
{
public int Id { get; set; }
public DateTime CreatedOn { get; set; }
}
我希望映射到,将输入类的UTC日期调整为输出类的本地时间,例如,假设我在UTC偏移当前为1小时的英国:
var input = new MyDto {Id
我有一个列表,我需要维护所有的道具都是一个字符串。但现在我想生成一个映射属性的新列表,如果验证失败,它会将PersonSource的IsValid属性设置为false,并将ValidationMessage设置为原因。如果可以将AutoMapper添加到混合验证类中,我的验证类具有一系列数据验证,以确保存在数据和数据是适当的
public class PersonSource
{
public string FirstName { get; set; }
public string LastName { get; set; }
publ
下面是我的数据传输对象
public class LoadSourceDetail
{
public string LoadSourceCode { get; set; }
public string LoadSourceDesc { get; set; }
public IEnumerable<ReportingEntityDetail> ReportingEntity { get; set; }
}
public class ReportingEntityDetail
{
public string ReportingEntityCode { get; set
我有一个字符串,它是一个有效的日期,但它是一个字符串,并且它需要是一个字符串。但是,当我试图将它自动映射到日期时间时,它抛出了一个异常
Trying to map System.String to System.DateTime.
Trying to map System.String to System.DateTime.
Using mapping configuration for ViewModels.FormViewModel to Framework.Domain.Test
Destination property: DueDate
Missing type map config
在json.net JObject中使用AutoMapper时出现反射错误
public class Source
{
public string Key { get; set; }
public JObject Value { get; set; }
}
这就是目标
public class Target
{
public string Key { get; set; }
public JObject Value { get; set; }
}
这是映射
public class SourceTargetMapping
{
public static
被关闭和锁定,没有解释或解决。(事实上,所有AutoMapper问题都是这样处理的。维护人员在这里指导人们。)
总结一下这个问题,IMemberConfigurationExpression.Condition会收到一个Func<TSrc, TDest, object, bool>。第三个参数是被访问的源成员的值。例如:
public static class IMappingExpressionExtensions
{
public static void Coalesce<Src, Dst>(this IMappingExpression<Src, D
有两类
class A
{
public string ProductionDivision { get; set; }
}
class B
{
private object _productionDivision;
public enum ProductionDivisionOneofCase
{
None = 0,
IsNullproduction
我有以下模式:
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
}
我希望能够使用AutoMapper将Name类型的Tag属性映射到一个视图模型中的string属性。
我已经创建了一个自定义解析器来尝试处理此映射,使用以下代码:
public class TagToStringResolver : ValueResolver<Tag, string>
{
protected override string ResolveCore(
有没有一种方法可以用AutoMapper映射静态类?
场景是这样的。有一个名为UserIdentity的静态类,它包含属性。我希望将UserIdentity类值映射到名为UserDTO的非静态类。
当我试着
AutoMapper.Mapper.CreateMap<UserIdentity, UserDTO>();
有一个错误说,
static type cannot be used as type arguments
现在,谁能给我解释一下这个场景,它能不能实现。有没有办法在不使用Automapper的情况下映射静态类?否则,我必须手动完成它们。
我得到了AutoMapperMappingException异常
引发了“AutoMapper.AutoMapperMappingException”类型的异常。
什么时候
public enum DummyTypes : int
{
Foo = 1,
Bar = 2
}
public class DummySource
{
public DummyTypes Dummy { get; set; }
}
public class DummyDestination
{
public int? Dummy { get; set; }
}
[TestMe
为什么Automapper不使用SourceMember属性映射到雇员?如果我将名称与名称相匹配,它就会工作:
不管用:
是否有效:
using AutoMapper;
using AutoMapper.Configuration.Annotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AutoMapperConsole1
{
[AutoMap(typeof(P
我目前正在评估AutoMapper是否对我们的项目有好处。我正在使用RESTful Web API开发一个ASP.NET Web API,我必须返回的内容之一是包含链接的资源。考虑这个简化的示例,使用下列域对象:
public class Customer
{
public string Name { get; set; }
}
我需要将它映射到一个资源对象中,有点像DTO,但添加了一些属性来促进REST。下面是我的资源对象可能的样子:
public class CustomerResource
{
public string Name { get; set; }
pu
我在使用AutoMapper (这是一种优秀的技术)将业务对象映射到DTO时遇到了问题,在DTO中,我继承了集合中的抽象基类。
这是我的目标:
abstract class Payment
class CashPayment : Payment
class CreditCardPayment : Payment
我还有一个发票对象,它包含这样的付款集合:
public class Invoice
{
... properties...
public ICollection<Payment> Payments { get; set; }
好的,我很难从一个模型转换为一个dto模型,反之亦然,这个模型是有效的,但是当试图映射"AutoMapper.AutoMapperMappingException‘发生在AutoMapper.dll“时
下面是模型类
public class Category
{
public Guid CategoryId { get; set; }
public string CategoryName { get; set; }
public virtual ICollection<Post> Posts { get; set
我希望有人能帮助我。我们目前正在将AutoMapper从v6升级到v9 -我们会使用v10,但无法创建新的ResolutionContext会影响我们的单元测试。也就是说,对于v9,我们在单元测试AutoMapper转换器时仍然存在以下问题…… A ConverterClass: public class FooBarConverter :
ITypeConverter<FooSourceObject, BarDestinationObject>
{
/// <inheritdoc/>
public virtual BarDestination
我正在编写一个使用AutoMapper进行对象映射的ASP.NET Web API服务。我正在针对AbleCommerce购物车软件构建此服务。问题中的服务(目的地)类跟踪用户及其地址。
public class UserModel
{
public int UserID { get; set; }
...
public List<AddressModel> Addresses { get; set; }
}
public class AddressModel
{
public int AddressID { get; set; }
pu
在接下来的一两个星期里,我们的代码中开始出现一个奇怪的错误。我试图找出映射失败的根本原因。最内在的例外是令人费解的:Type 'System.String' does not have a default constructor。
我不明白什么是例外告诉我的。你能解释一下发生了什么吗?也许我可以解决这个问题?
映射器在泛型方法中使用:
public TEntity UpdateWithHistory<TEntity>(TEntity entity, int? entityID, int? interviewID)
where TEntity : class
{
我试图使用AutoMapper将实体层次结构投射到一些DTO中。我使用的是EntityFramework核心(最新的稳定版本)。
层次结构非常简单:
我有一个计算,它有一个参数的集合。参数可选地有一个计算,因此递归。
class Calculation
{
int Id {get; set; }
ICollection<Parameter> Parameters { get; set }
}
class Parameter
{
int Id {get; set; }
Calculation Calculation { get; set }
}
我想把这个
我需要在平面ViewModel和深度结构化领域模型之间映射两种方法。这将是我们解决方案中的一个常见场景。
我的模特是:
public class Client
{
...
public NotificationSettings NotificationSettings { get; set; }
public ContactDetails ContactDetails { get; set; }
...
}
public class NotificationSettings
{
...
public bool ReceiveActivityEmail
如果源对象为空,是否可以将AutoMapper配置为返回目标类型的新实例?
Source source = null;
Dest d1 = AutoMapper.Mapper.Map<Source, Dest>(source);
// d1 == null
// I'm looking for a way to configure AutoMapper to
// eliminate this code:
Dest d2 = AutoMapper.Mapper.Map<Source, Dest>(source) ?? new Dest();