2016-10-12 3 views
-1

ASP.NET 웹 API, C#을 사용하고 있습니다. Express Mapper에 익숙하기 때문에 결과 목록을 반환하는 ADO.NET 코드가 있습니다. 그런 다음 Express Mapper를 사용하여 매핑하는 방법은 무엇입니까? 너무 많은 사이트를 검색했지만 불행히도 결과가 없습니다. 어떤 도움이 필요한가요?ExpressMapper를 사용하여 DataTable을 DTO에 매핑하는 방법은 무엇입니까?

+0

당신이 ' –

+0

이 유 code.because 더 라인을 writting 나를 설명 할 수 ICustomTypeMapper 사용자 정의를'구현할 수 난 이 급행 매퍼 주제에 완전히 새로운 것입니다. –

+0

오, 그건 당신의 집입니다. –

답변

0

이 정보는 ExpressMapper에서 사용자 지정 매퍼로 작업하는 방법을 보여주는 테스트입니다. 난 당신이 적절하게 사용 할 수 있습니다 희망 -

public static void Main() 
    { 
     var ds = new DataSet(); 
     var dt = new DataTable(); 
     dt.Columns.Add("Name", typeof(string)); 
     dt.Columns.Add("Age", typeof(int)); 
     dt.Rows.Add("Test", 10); 
     dt.Rows.Add("Test2", 10); 
     ds.Tables.Add(dt); 

     var mapped = Mapper.Map<DataTable, List<RequestModel>>(ds.Tables[0], new CustomTypeMapper()); 

    } 

곳 -

class RequestModel 
{ 
    public int Age { get; set; } 
    public string Name { get; set; } 
} 

class CustomTypeMapper : ICustomTypeMapper<DataTable, List<RequestModel>> 
{ 
    public List<RequestModel> Map(IMappingContext<DataTable, List<RequestModel>> context) 
    { 
     if (context.Source == null) 
      throw new ArgumentNullException(); 

     var output = new List<RequestModel>(); 
     foreach (DataRow row in context.Source.Rows) 
     { 
      output.Add(new RequestModel 
      { 
       Age = row.Field<int>("Age"), 
       Name = row.Field<string>("Name") 
      }); 
     } 

     return output; 
    } 
} 
+0

이 도움이됩니까? –

+0

예, 감사합니다. –

+0

그 경우 사람들에게 도움이되는 답을 표시하십시오. –