我第一次尝试使用LINQ,并且我正在使用EF 4.1 Code First。
我的实体包含其他实体的嵌套列表,例如:
class Release
{
int ReleaseID { get; set; }
string Title { get; set; }
ICollection<OriginalTrack> OriginalTracks { get; set; }
}
class OriginalTrack
{
int OriginalTrackID { get; set; }
string Title { get; set; }
ICollection<Release> Releases { get; set; }
ICollection<OriginalArtist> OriginalArtists { get; set; }
}
class OriginalArtist
{
int OriginalArtistID { get; set; }
string Name { get; set; }
ICollection<OriginalTrack> OriginalTracks { get; set; }
}
我想知道如何在一个LINQ查询中以最快的方式获取所有ReleaseID == 某个值
的信息。
我已经做过功课,但发现一些解决方案需要隐式重建一个带有所需数据的对象(通常是匿名对象)。我想要从数据库中以与数据库中保存的精确格式相同的格式获取数据,即使用相关ReleaseID检索和填充Lists中的所有OriginalTrack和OriginalArtist数据的Release对象。
我知道Include()
,但不确定如何应用于多个实体。
非常感谢任何帮助。
Where
(或任何其他IQueryable
方法)之后调用Include
,因为Include
扩展了IQueryable
。请参见https://github.com/mono/entityframework/blob/master/src/EntityFramework/QueryableExtensions.cs#L450 - haim770