Może błędnie odbieram pytanie, ale nie musisz całkowicie zmieniać mapowania hbm.
Możesz nadal używać płynnego NHibernate do mapowania klas i używania hbm tylko dla zapytań nazwanych. W swojej konfiguracji uwzględnisz encje i hbms.
_sessionFactory = Fluently.Configure()
.Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<SomeEntityMap>();
m.HbmMappings.AddFromAssemblyOf<SomeEntityMap>();
})
.BuildSessionFactory();
W swojej namedQueries.hbm.xml wtedy tylko definiować nazwane zapytania:
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<query name="Some.Query.Of.Yours">
<![CDATA[
from SomeEntity e
where e.Property = :propertyValue
]]>
</query>
</hibernate-mapping>
Gdzie to wygląda dla pliku .hbm.xml? – codeulike
Musisz zdefiniować plik .hbm.xml jako zasób osadzony. Ta linia: m.HbmMappings.AddFromAssemblyOf(); mówi nhibernate, w którym projekt ma wyglądać (SomeEntityMap nie musi być mapą, a raczej dowolną klasą, która znajduje się w tym samym projekcie co plik hbm.xml) –