2011-08-09 119 views
1

我有以下一段代码:NHibernate的Linq查询到QueryOver

1: ids = GetAnArrayOfIds(); 

2: jobEntities = jobEntities.Where(j => j.Locations.Select(l => l.Id).Any(ids.Contains)); 

如何使用QueryOver写2?

谢谢

回答

4
var results = session.QueryOver<Job>() 
    .JoinQueryOver<Location>(u => u.Locations) 
    .Where(loc => loc.Id.IsIn(ids)) 
    .TransformUsing(Transformers.DistinctRootEntity) 
    .List(); 

希望这有助于

+0

它肯定不会,非常感谢 – Calin