2016-03-28 15 views
2

ドメインモデル:ASP.net AutoMapper欠落型マップの設定またはサポートされていないマッピング

public class Test 
{ 
    public int Id { get; set; } 
} 

ビューモデル:

public class TestViewModel 
{ 
    public int Id { get; set; } 
} 

のGlobal.asax:

AutoMapper.Initialize(); 

AutoMapper:

public static class AutoMapper 
{ 
    public static void Initialize() 
    { 
     CreateModelsToViewModels(); 
     CreateViewModelsToModels(); 
    } 

    private static void CreateModelsToViewModels() 
    { 
     Mapper.Initialize(x => x.CreateMap<Test, TestViewModel>().ReverseMap()); 

     Mapper.AssertConfigurationIsValid(); 
    } 

    private static void CreateViewModelsToModels() 
    { 

    } 
} 

設定が有効です。

public ActionResult Index(string category) 
{ 
    Test t = _Context.test.First(x => x.Id == 1); 
    var test = Mapper.Map<Test, TestViewModel>(t); //error here 
} 

データのみが1であっても、この簡単なテストのIDを持つ1つの行が私にエラーMissing type map configuration or unsupported mappingを投げ続けています。 何が問題なのでしょうか?

編集:Mapper.Initialize(x => x.CreateMap<Test, TestViewModel>());Mapper.Initialize(x => x.CreateMap<Test, TestViewModel>().ReverseMap());を変更し、まだ同じエラー

+0

ないので、私は確認できない。誰のために

は他のあなたは、データベースの移行を使用している場合、あなたがそうでなければ、あなたがこの混乱エラーを取得し、パッケージマネージャコンソールでupdate-databaseを使用することを確認し、この問題を持ちます私の推測では、AutoMapperを2回(ModelToVmとVmToModel)初期化しているため、2度目の呼び出し時に初期化の1つを上書きするということでしょうか? – Sam

+0

@Sam投稿を編集しましたが、まだエラーが発生しています。また、私は他のすべてのコードをコメントアウトしていますので、それらのモデルのためにautomapperを一度しか初期化していません。 –

+0

'ReverseMap()'両方向にマップを作成します。だから私は間違った答えを削除しました – esiprogrammer

答えて

2

それは私がマップするためにこれらのテストクラスを作成した後に(データベースの移行を使用して)データベースを更新するのを忘れていたが判明しました。 、私のコンピュータで

AutoMapper Missing type map configuration or unsupported mapping.

関連する問題