How to use sql query in nhibernate ConfORM

157 views Asked by At

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

1

There are 1 answers

0
Firo On BEST ANSWER

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