2017-09-15 14 views
-2

辞書をオブジェクトに変換しようとしています。私は、次のことを試してみたが、それは仕事doesntの:Automapper - 辞書からオブジェクトへのマッピングが機能していませんか?

public class FormField 
{ 
    public string FieldName { get; set;} 
    public string FieldValue { get; set;} 
} 

var formData = new List<FormField> 
{ 
    new FormField {FieldName = "date", FieldValue = "2017-09-14"}, 
    new FormField {FieldName = "name", FieldValue = "Job blogs"}, 
    new FormField {FieldName = "isenabled", FieldValue = "true"} 
}; 

public class MyViewModel 
{ 
    [Required] 
    public DateTime Date { get; set; } = DateTime.now; 

    [Required] 
    public string Name { get; set; } 

    public boolean IsEnabled { get; set; } 

    public IEnumerable<SelectListItem> Titles 
    { 
    get 
    { 
     var options = new List<SelectListItem> 
     { 
      new SelectListItem(){ Value = "Mr", Text = "Mr" }, 
      new SelectListItem(){ Value = "Mrs", Text = "Mrs" }      
     }; 
     return options; 
    } 
    } 
} 

のGlobal.asax:私はautomapper 5.0.2を使用してい

protected void Application_Start() 
{ 
    Mapper.Initialize(cfg => {}); 
} 

コード

var viewModel = Mapper.Map<MyViewModel>(formData.ToDictionary(x => x.FieldName, x => (object) x.FieldValue)) 

注意を。

+0

エラーは何ですか? –

+0

@Jan_Vエラーなし - 'viewModel'は空です。つまり値は設定されていません。 – adam78

+0

私はあなたのコードを実際にコンパイルするために与えられたように.NET 4.5、Automapper 5.0.2コンソールアプリケーションでうまく動作するように変更しています。 – Equalsk

答えて

1

最新のもので私のために働きます。アップグレード:

+0

そしてバージョンが責任を負っているかどうかはわかりません。私はあなたがこの正確なコードを実行していないと確信しています。コンパイルされないので:)あなたが投稿したコードを実行してください。 –

関連する問題