私は MVC と自動マッパーから始めています。いくつかのガイダンスをいただければ幸いです。いくつかのドメイン モデルと、これらのドメイン モデルを組み合わせたビュー モデルがあります。クラスは基本的に4クラス
Transcription
ユーザー ID を持つAudio
が所有する関連付けられた を持っていますClient Staff
Users
データベース関係図:
http://i49.tinypic.com/whcwsz.jpg
生成されたドメイン モデル EF (関連するフィールドのみ)
public class audio
{
public int AudioID { get; set; }
public string AudioLength { get; set; }
public virtual ClientStaff ClientStaff { get; set; }
public virtual ICollection<Transcription> Transcriptions { get; set; }
}
public class ClientStaff
{
public int ClientStaffID { get; set; }
public int StaffType { get; set; }
public int ClientID { get; set; }
public virtual ICollection<Audio> Audios { get; set; }
public virtual User User { get; set; }
}
public class User
{
public int UserID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual ICollection<ClientStaff> ClientStaffs { get; set; }
}
public class Transcription
{
public int TranscriptionID { get; set; }
public string TranscriptionText { get; set; }
public virtual Audio Audio { get; set; }
public Nullable<int> AudioID { get; set; }
}
モデルを見る
public class customVM
{
public int AudioID { get; set; }//get from audio
public string Path { get; set; }//get from audio
public string AudioLength { get; set; }//get from audio
public DateTime AudioCreatedOn { get; set; }//get from audio
public int ClientStaffID { get; set; }//get from audio
public string TranscriptionText { get; set; }//get from transcription
public DateTime TranscriptionCreatedOn { get; set; }//get from transcription
public string UsersFirstName { get; set; }//get from users
public string UsersLastName { get; set; }//get from users
}
コントローラーのアクション
public ActionResult Index()
{
IEnumerable<Audio> x= db.getAudioFiles();
Mapper.CreateMap<Audio, customVM>();
IEnumerable<customVM> model =
Mapper.Map<IEnumerable<Audio>, IEnumerable<customVM>>(x);
Mapper.AssertConfigurationIsValid();
return View(model);
}
問題 :
AutoMapper
Transcription
andからプロパティClientStaff
を取得していますが、ユーザーの姓と名を取得するにはどうすればよいですか? または、自動マッパーを使用して第 2 レベルのネストされたクラス プロパティを取得する方法を一般化します。それとも、問題全体に間違ってアプローチしていますか?