Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用IDataReader自动映射自定义映射_C#_.net_Automapper_Idatareader - Fatal编程技术网

C# 使用IDataReader自动映射自定义映射

C# 使用IDataReader自动映射自定义映射,c#,.net,automapper,idatareader,C#,.net,Automapper,Idatareader,我正在尝试使用AutoMapper将数据表映射到数据对象。只有当我试图为未映射的特定字段添加一些自定义映射时,这才是完美的 使用nuget软件包: 汽车制造商 自动映射数据 设置(使用unity): 除了SomeField之外,所有字段都已正确映射。有什么想法吗 您的src对象上的GetDateTimeMethod是什么。可以显示代码吗?GetDateTime方法来自system.data,请参见 container.RegisterInstance<IMapper>(new A

我正在尝试使用AutoMapper将
数据表
映射到
数据对象
。只有当我试图为未映射的特定字段添加一些自定义映射时,这才是完美的

使用nuget软件包:

  • 汽车制造商
  • 自动映射数据
设置(使用unity):


除了
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; }
    ...
}