2012-05-28 58 views
2

我有一个实体除了其他信息之外还包含许多图像。这是一个2很多。 在我需要首先从该集合加载到加载缓慢的情况下,我有以下查询检索图像集合。从nhibernate获取集合获取第一个元素

List<Entity> data = session.Query<Entity>() 
      .Fetch(x=>x.Photos)//here I need only first element 
      .Fetch(x=>x.Features) 
      .ToList(); 

回答

2

利用日LINQ的First()FirstOrDefault()方法wiil做任务,为您

List<Entity> data = session.Query<Entity>() 
      .Fetch(x=>x.Photos.First())// 
      .Fetch(x=>x.Features) 
      .ToList(); 

List<Entity> data = session.Query<Entity>() 
       .Fetch(x=>x.Photos.FirstOrDefault())// 
       .Fetch(x=>x.Features) 
       .ToList(); 

ASLO使用该方法之前,先阅读:When to use .First and when to use .FirstOrDefault with LINQ?

+0

:)试着用(x => x.Photos).First();无论如何,谢谢 – BobRock

+0

这不工作..... –

1
List<Entity> data = session.Query<Entity>() 
      .Fetch(x=>x.Photos.FirstOrDefualt())//here I need only first element 
      .Fetch(x=>x.Features) 
      .ToList();