У меня есть исследование об этом, и все решения указывают на одно решение, чтобы использовать приведенный ниже код и поместить его в файл .hbm.xml. но у меня его нет. У меня есть hibernate.cfg.xml и nhvalidator.cfg.xml.Как вызвать хранимую процедуру с помощью nhibernate?
Я читал отсюда: http://forums.asp.net/t/1407518.aspx/1 , но где я могу ввести теги запроса? Я набрал его в файле hibernate.cfg.xml (см. Ниже), но он не работает.
<?xml version="1.0" encoding="utf-16"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">Server=localhost\MSSQLSERVERR2;Database=SupplierSearch;Trusted_Connection=True</property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="cache.use_minimal_puts">false</property>
<property name="use_outer_join">false</property>
</session-factory>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="Quarry.SupplierSearch"
assembly="SupplierSearch">
<class name="SupplierSearch" table="Client" lazy="true">
<id name="ClientId" column="ClientId">
<generator class="native" />
</id>
<property name="FirstName" column="FirstName" />
<property name="ClientId" column="ClientId" />
<loader query-ref="GetAllClient"/>
</class>
<sql-query name="GetAllClient" >
<return alias="GetAllClient" class="SupplierSearch">
<return-property name="ClientId" column="ClientId"/>
<return-property name="FirstName" column="FirstName"/>
</return>
exec GetAllClient
</sql-query>
</hibernate-mapping>
</hibernate-configuration>
, поскольку он не работает, я попытался ввести его в моем Client.nhv.xml (см ниже), где отображается клиент)
<?xml version="1.0" encoding="utf-8"?>
<nhv-mapping assembly="Quarry.SupplierSearch" namespace="Quarry.SupplierSearch.Model" xmlns="urn:nhibernate-validator-1.0">
<class name="Client">
<property name="Address1">
<not-null />
</property>
<property name="Address2">
<not-null />
</property>
<property name="BusinessName">
<not-null />
</property>
<property name="ClientId">
<not-null />
<digits integerDigits="10" />
</property>
<property name="Country">
<not-null />
</property>
<property name="FirstName">
<not-null />
</property>
<property name="LastName">
<not-null />
</property>
<property name="ListingType">
<not-null />
<digits integerDigits="10" />
</property>
<property name="PhoneNumber">
<not-null />
</property>
<property name="PostCode">
<not-null />
</property>
<property name="State">
<not-null />
</property>
</class>
<loader query-ref="GetAllClient"/>
<sql-query name="GetAllClient">
<load-collection alias="Clients" role ="Client"/>
exec [GetAllClient]
</sql-query>
</nhv-mapping>
любое предложение, чтобы получить эту работу? спасибо
сделал я упоминаю, что мое решение делает не имеет Client.hbm.xml только client.hbv.xml и hibernate.cfg.xml? Слой модели был сгенерирован с использованием инструмента и не создал такой файл. Я попытался добавить новый файл client.hbm.xml в качестве встроенного ресурса, но он возвращает ошибку, он не может видеть запрос. – user742102
Пожалуйста, см. Мое редактирование, вот что вызывает проблему. Я не видел, чтобы ваше сопоставление начиналось с '
Rippo
Да, я видел много подобных сообщений в приведенной ссылке u. Было бы легко, если бы у меня был файл client.hmb.xml. К сожалению, ни один из них и клиент не использовали инструмент для создания слоя модели, и он этого хочет. Он использовал приобретенный инструмент Visual NHibernate. Есть ли другой путь ? Спасибо за помощь. – user742102