如何从nhibernate调用sql字符串
我有以下方法,目前它返回整个sql字符串。我将如何执行以下操作如何从nhibernate调用sql字符串,nhibernate,Nhibernate,我有以下方法,目前它返回整个sql字符串。我将如何执行以下操作 using (ITransaction transaction = session.BeginTransaction()) { string sql = string.Format( @"DECLARE @Cost money
using (ITransaction transaction = session.BeginTransaction())
{
string sql =
string.Format(
@"DECLARE @Cost money
SET @Cost = -1
select @Cost = MAX(Cost) from item_costings
where Item_ID = {0}
and {1} >= Qty1 and {1} <= Qty2
RETURN (@Cost)",
itemId, quantity);
string mystring = session
.CreateSQLQuery(sql)
.ToString();
transaction.Commit();
return mystring;
}
使用(ITransaction transaction=session.BeginTransaction())
{
字符串sql=
字符串格式(
@“申报成本费用
设置@Cost=-1
从项目成本计算中选择@Cost=MAX(成本)
其中,项_ID={0}
和{1}>=Qty1和{1}NHibernate仅支持从数据读取器读取结果
您应该将查询字符串创建为:
string sql = string.Format(
@"select MAX(Cost) from item_costings
where Item_ID = {0}
and {1} >= Qty1 and {1} <= Qty2",
itemId, quantity);
string sql=string.Format(
@“从项目成本计算中选择最大(成本)
其中,项_ID={0}
而且{1}>=Qty1和{1}谢谢迭戈,最终采纳了你的建议,并且做得很好。
string sql = string.Format(
@"select MAX(Cost) from item_costings
where Item_ID = {0}
and {1} >= Qty1 and {1} <= Qty2",
itemId, quantity);
string mystring = session
.CreateSQLQuery(sql)
.UniqueResult<decimal>()
.ToString();