2017-04-02 10 views
0

私はInterID Entity/ModelにCityID(プロパティ)を持っています。ViewModelsに、エンティティ(モデルクラス)のプロパティIDに対するプロパティ値を含める必要がありますか?

私はCityNameが私のViewModel(InterviewViewModel.cs)を持っている(はずです)ことはできますか?

そうならば(市)が別のエンティティであることから、どのように私はAutoMapperを使用してそれらをマッピングするのでしょうか?

  Mapper.Initialize(cfg => 
     { 
     cfg.CreateMap<Interview, InterviewViewModel>() 
     .ForMember 
      (dst => dst.CityName, src => src.MapFrom (e => e. // how would I do this??)) 

     }); 
+0

Interviewで都市のプロパティを作成し、e => e.City.CityNameとすると、ORMはそのように思っています。 – mfahadi

+0

あなたは右のナビゲーションプロパティを意味しますか?私はこれを考えましたが、他の団体でもCityが必要になります。それから、ICollection すべての都市の都市、そうでしょうか? また、インタビューに関連付けられた市を保管するために、私のインタビューでもCityIDが必要でしょうか? – adityawho

+0

はい、正確です。そして、それは行かなければなりません。それをやりたくない場合は、Cityテーブルを照会して、都市名を手動でマップする必要があります。これは2回のdbコールであり、それほど効率的ではありません。 – mfahadi

答えて

0

Plase InterviewCityナビゲーションプロパティを作成し、automapperのconifgでe=> e.City.CityNameを行います。

それは物事が容易になり、あなたが使用しているEntity Frameworkのか、他のORMの可能性を最大限に活用することができるようになります。それ以外の場合は、Cityテーブルを手動で照会し、Interview ViewModelという名前を追加する必要があります。

関連する問題