我必须在SQL中执行一个返回几行的存储过程,但我似乎永远无法在nHibernate中捕获结果。我已经让整个开发团队都无济于事。这是我的代码:
var results = this.Session.CreateSQLQuery("EXEC qa.AdjustDates @VpGuarantorId =:VpGuarantorId, @DatePart =:DatePart, @Adjustment =:Adjustment")
.AddScalar("IssueLevel", NHibernateUtil.String)
.AddScalar("IssueMessage", NHibernateUtil.String)
.SetParameter("VpGuarantorId", guarantorId)
.SetParameter("DatePart", datePart)
.SetParameter("Adjustment", adjustment)
.SetResultTransformer(new AliasToBeanResultTransformer(typeof (IssueResult)))
.List<IssueResult>()
.ToList();
这是班级:
public class IssueResult
{
public virtual string IssueLevel { get; set; }
public virtual string IssueMessage { get; set; }
}
(P.S。 - SQL Profiler显示我们的应用程序正确调用proc并传递正确的参数)
答案 0 :(得分:0)
嗯,这是一个在两个数据库中拥有相同SPROC并且不知道它的情况:代码正在访问一个数据库而我正在另一个数据库中测试我的查询。
对于这个愚蠢的问题感到抱歉,谢谢大家的回答。