使用NHibernate CreateSQLQuery方法添加输出参数

时间:2017-01-17 04:38:54

标签: nhibernate

我正在尝试使用来自MVC .NET应用程序的NHibernate连接sql server。

这就是我想要做的事情。

var result = nhSession.CreateSQLQuery("exec SearchWithPaging :SearchCriteria, :CurrentPage, :PageSize")
            .SetParameter("SearchCriteria", searchCriteria)
            .SetParameter("CurrentPage", currentPage)
            .SetParameter("PageSize", pageSize)
            .SetResultTransformer(new AliasToBeanResultTransformer(typeof(List<ListDto>)))
            .UniqueResult<List<ListDto>>();

现在我能够成功获取数据。问题是我希望proc也向我发送一些输出值。所以我在proc中增加了输出参数。但是在CreateSQLQuery Method中不知道如何做到这一点。

我已经用谷歌搜索了它,但他们已经使用SqlCommand实现了它,包括SqlDataReader。我不想那样做。

1 个答案:

答案 0 :(得分:0)

使用此代码。您可以使用http://www.gitshah.com/2011/09/calling-stored-procedure-with-out.html了解更多详情

Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C13")) Is Nothing Then
Range("C14").ClearContents
End If

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C14")) Is Nothing Then
Range("C15").ClearContents
End If

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C13")) Is Nothing Then
Range("C17").ClearContents
End If

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C14")) Is Nothing Then
Range("M14").ClearContents
End If
If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C13")) Is Nothing Then
Range("C15").ClearContents
End If

If Target.Cells.Count > 1 Then Exit Sub

If Not Intersect(Target, Range("C15")) Is Nothing Then
Range("C17").ClearContents
End If