Yes, in the "contrib" version there is a Expand method...
var query = session.Linq<User>();
query.Expand("Company")
query.Where(u => u.UserName = ... && u.Password = ...).First();Or something like this. I really don't like the expand method there. But I don't know how this will be achieved with the new version of the linq provider. 2009/10/30 José F. Romaniello <[email protected]> > Yes, in the "contrib" version there is a Expand method... > var query = session.Linq<User>(); > query.Expand("Company") > query.Where(u => u.UserName = ... && u.Password = ...).First(); > > Or something like this. I really don't like the expand method there. But I > don't know how this will be achieved with the new version of the linq > provider. > > > > > 2009/10/30 Dan <[email protected]> > > >> I posed this question a few days ago but I didn't see it show up, so >> if this is a double post I appologize. I recently started using Linq >> to NHibernate and was wondering if anybody knows how to force an inner >> join. I'm able to do this easily with the typical criteria objects. I >> put a quick example below to show querying a user by their username/ >> password, but I'm also eagerly loading the company. >> >> ICriteria query = _unitOfWork.CreateCriteria<User>(); >> query.CreateAlias("Company", "comp", >> NHibernate.SqlCommand.JoinType.InnerJoin); >> query.Add(Expression.Eq("UserName",userName)); >> query.Add(Expression.Eq("Password", password)); >> query.SetFetchMode("Company", FetchMode.Join); >> return query.UniqueResult<User>(); >> >> I can "eagerly" load the company by using the "Expand" method with the >> linq extensions for NHibernate, but it always joins with a "left outer >> join". >> >> INhibernateQueryable<User> query = _unitOfWork.Linq<User>(); >> query.Expand("Company"); >> return query.FirstOrDefault(user => user.UserName == userName && >> user.Password == password); >> >> Any help would be appreciated. >> >> Thanks, >> Dan >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
