Вы не можете отобразить хранимые процедуры с FluentNHibernate (AFAIK).Вам необходимо сопоставление xml, подобное этому (SQL-Server):
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Your.Xml.Mappings.Namespace">
<sql-query name="DeleteSomeEntity" >
exec dbo.deleteSomeEntityProc ?
</sql-query>
</hibernate-mapping>
Возвращаемое значение, вероятно, будет ArrayList
из object[]
, если вы вызовете его с помощью NHibernate.Обратите внимание на «?»аргумент, который будет принимать ваш идентификатор.Имя для вызова будет «DeleteSomeEntity». Также помните, что вам нужно будет назвать файл с условным обозначением «.hbm.xml», и вам необходимо включить его в качестве встроенного ресурса в ваш проект!
Чтобы FluentNHibernate мог загрузить файл, вам нужно вызвать
database = database.Mappings(m => m.HbmMappings.AddFromAssembly(assembly));
в сборке, вызывая xml при инициализации ваших сопоставлений.
Когда вам действительно нужновозвращаемый тип сопоставления, вы можете включить в отображение объявление <return>
или <return-property>
.Я не сделал этого, однако, вам придется искать это в справочном руководстве NHibernate.
HTH.