0
NHibernate経由でストアドプロシージャを呼び出す方法がわかりません。だから私は以下のように検索し、コード化した。しかし、私はエラーを得たルーチンのC#Nhibernateでmysqlストアドプロシージャを実行できません
OUTまたはINOUT引数3は、ストアド・プロシージャ
BEFOREトリガー内の変数またはNEW疑似変数ではありません。
DELIMITER $$
USE ih$$
DROP PROCEDURE IF EXISTS ms_getDate$$
CREATE [email protected]% PROCEDURE ms_getDate(OUT datetype VARCHAR(2))
BEGIN
SET datetype = 0;
SELECT a.Type into datetype
FROM hr_employees a WHERE a.Flag= '1';
END$$
DELIMITER;
C#を
NHibernate
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >
<sql-query name="ms_getDate" callable="true" >
<return-scalar column="datetype" type="String" />
call ms_getDate
</sql-query>
</hibernate-mapping>
コード
public class At_InsertPlanningStoredProcedure
{
public virtual int datetype { get; set; }
}
using (DbSession dbSession = new DbSession())
{
try
{
IQuery query = dbSession.session.GetNamedQuery("at_insertplanning");
At_InsertPlanningStoredProcedure a = query.UniqueResult<At_InsertPlanningStoredProcedure>();
}catch (Exception ex){}
}
あなたはパラメータを削除し、ちょうど使用して値を返す必要が