ドキュメントの例を使用します。
public class Artist
{
public int ArtistId { get; set; }
public string Name { get; set; }
public IEnumerable<Album> Albums { get; set; }
}
...
var eagerDynamicArtist = db.Artists.FindAllByArtistId(22).WithAlbums().FirstOrDefault();
Console.WriteLine("Artist {0} {1}", eagerDynamicArtist.ArtistId, eagerDynamicArtist.Name);
foreach (var album in eagerDynamicArtist.Albums)
{
Console.WriteLine("\t{0}", album.Title);
}
問題は、Albums リストが null を返すことです (生成されたクエリは問題ありません)。
次のように変更すると機能Albums
します。
public IEnumerable<dynamic> Albums { get; set; }
リストを次Albums
のように定義しながら、テーブルを明示的にキャストするにはどうすればよいですか?Albums
IEnumerable<Album>
注:明らかに他のテーブルを使用していますが、構造は似ています。POCO クラスにはさらにいくつかのフィールド (?) があるため、「Album」テーブルは魔法のようにキャストされないと想定しています。