C# 使用IDataReader自动映射自定义映射
我正在尝试使用AutoMapper将C# 使用IDataReader自动映射自定义映射,c#,.net,automapper,idatareader,C#,.net,Automapper,Idatareader,我正在尝试使用AutoMapper将数据表映射到数据对象。只有当我试图为未映射的特定字段添加一些自定义映射时,这才是完美的 使用nuget软件包: 汽车制造商 自动映射数据 设置(使用unity): 除了SomeField之外,所有字段都已正确映射。有什么想法吗 您的src对象上的GetDateTimeMethod是什么。可以显示代码吗?GetDateTime方法来自system.data,请参见 container.RegisterInstance<IMapper>(new A
数据表
映射到数据对象
。只有当我试图为未映射的特定字段添加一些自定义映射时,这才是完美的
使用nuget软件包:
- 汽车制造商
- 自动映射数据
除了
SomeField
之外,所有字段都已正确映射。有什么想法吗 您的src
对象上的GetDateTimeMethod
是什么。可以显示代码吗?GetDateTime方法来自system.data,请参见
container.RegisterInstance<IMapper>(new AutoMapperConfiguration().Configure().CreateMapper());
public class AutoMapperBootstrap : Profile
{
public AutoMapperBootstrap()
{
CreateMap<IDataReader, DtoObject>()
.ForMember(dest => dest.SomeField, opt => opt.MapFrom(src => src.GetDateTime(0)));
}
}
public class AutoMapperConfiguration
{
public MapperConfiguration Configure()
{
var config = new MapperConfiguration(cfg =>
{
cfg.AddDataReaderMapping();
cfg.AddProfile<AutoMapperBootstrap>();
});
return config;
}
}
private IEnumerable<DtoObject> DataTableReintegratieGegevensToIEnumerable(DataTable dt)
{
return _mapper.Map<IDataReader, IEnumerable<DtoObject>>(dt.CreateDataReader());
}
public class DtoObject
{
public DateTime? SomeField { get; set; }
...
}