nhibernateconform

How to use sql query in nhibernate ConfORM


How can I join two tables from different dataases using nhibernate ConfORM or at least write sql query in nhibernate ConfORM?

This is the query which I need to run:

select RTRIM(l.descr) as affiliation, a.LocationId
from Facilities a 
join [tmt-sam2].sammi.dbo.location l ON a.LocationId = l.off_code+'-'+l.location

Thanks, Alexey


Solution

  • if you dont have that many locations you can strait load all

    using (var session1 = sessionfactoryDataBase1.OpenSession())
    using (var session2 = sessionfactory_tmt_sam2.OpenSession())
    {
        var locations = session2.QueryOver<Location>().List();
        var results = session1.QueryOver<Facility>()
            .Where(f => f.LocationId.IsIn(locations.Select(l => l.OffCode + '-' + l.location)))
            .AsEnumerable()
            .Join(locations, f => f.LocationId, l => l.OffCode + '-' + l.location, (f, l) => new { Description = l.descr.TrimEnd(), LocationId = f.LocationId });
    }
    

    otherwise batches in the code