主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ
書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。
2016/08/03
リレーションが下のような感じの場合。
public class Anime
{
public int AnimeId { get; set; }
public int Year { get; set; }
public int Quarter { get; set; }
public string Title { get; set; }
public virtual ICollection<Episode> Episodes { get; set; }
}
public class Episode
{
public int EpisodeId { get; set; }
public int Sequense { get; set; }
public string Title { get; set; }
public virtual ICollection<Cast> Casts { get; set; }
}
public class Cast
{
public int CastId { get; set; }
public string Name { get; set; }
}
今期放送している Anime
から Cast
を取得したい場合、以下のようにすればできます。
var anime = context.Anime.AsNoTracking()
.Where(w => w.Year == 2016)
.Where(w => w.Quarter == 3)
.Include(w => w.Episodes.Select(v => v.Cast))
.ToList();
foreach (var cast in anime.Episode.Cast)
{
Console.WriteLine(cast.Name);
}