This would be the correct code: IList<Item> item = FromSomeSource(); var score = from s in NHibernateSession.Linq<Score>() join i in items on s.Item equals i select s;
Looks weird, but the thing is: - If you have a query source and join an in-memory collection to it, you create a query that receives the collection. - If you have an in-memory collection and join a query to it, the query is executed and then joined to the collection. Don't know if NH's LINQ provider supports this though (re-linq does). Technically, the reason is the parameter list of Queryable.Join: IQueryable<TOuter>, IEnumerable<TInner>. One could just create a new extension method that supports the other way too, but I'd be careful with that kind of ideas ;-) Cheers, Stefan On Sep 22, 12:02 am, Scott <[email protected]> wrote: > Can someone tell me why when I use the NHibernate Linq inhibitor it > gets the entire table when I trace it in Sql Profiler and if I use it > in the from it gets the entire table 1 record at a time. > > Simple query > > IList<Item> item = FromSomeSource(); > var score = (from i in items > join s in NHibernateSession.Linq<Score>() on i equals s.Item > select s); -- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
