Как использовать SQL-запрос в nhibernate Conform - PullRequest
2 голосов
/ 20 октября 2011

Как можно объединить две таблицы из разных баз данных с помощью nhibernate ConfORM или хотя бы написать SQL-запрос в nhibernate Conform?

Это запрос, который мне нужно выполнить:

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

Спасибо, Алексей

1 Ответ

1 голос
/ 21 октября 2011

если у вас не так много мест, вы можете загрузить все

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 });
}

в противном случае пакеты в коде

...