2016-10-12 14 views
-1

私はASP.NET Web API、C#を使用しています。私はExpress Mapperの新機能です。結果リストを返すADO.NETコードがあります。次に、Express Mapperを使用してマップする方法は?非常に多くのサイトを検索しましたが、残念ながら結果は見つかりませんでした。どんな助け?ExpressMapperを使用してDataTableをDTOにマッピングするにはどうすればよいですか?

+0

あなたは 'ICustomTypeMapper ' –

+0

カスタムを実装することができ、uはcode.because iの複数行を足すことで、私を説明できますこのエクスプレスマッパートピックに全く新しいです。 –

+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

その場合は、それは人に役立つ答えを記入してください。 –

関連する問題