Quantcast
Channel: ADO.NET, Entity Framework, LINQ to SQL, NHibernate
Viewing all articles
Browse latest Browse all 1698

Passing Null values in to stored procedure in Entity Framework

$
0
0

Hi I hope someone can help with this. I am trying to execute a stored procedure which has four parameters, all of which are null by default. I'm pretty new with Entity framework and found this very straight forward before with ado.net, but am persisting with EF. My issue is that whatever I set the parameters to it always ends up running the stored procedure with the default null values.

my code:

 Public Function GenerateExpensesReport(StartDate? As Date, EndDate? As Date, RegionID? As Guid, StaffID? As Guid) As List(Of USP_GetExpenseComputedTotals_Result)

        Dim StartDateParam As SqlParameter
        If Not IsNothing(StartDate) Then
            StartDateParam = New SqlParameter("@StartDate", StartDate)
        Else
            StartDateParam = New SqlParameter("@StartDate", DBNull.Value)
        End If

        Dim EndDateParam As SqlParameter
        If Not IsNothing(StartDate) Then
            EndDateParam = New SqlParameter("@EndDate", EndDate)
        Else
            EndDateParam = New SqlParameter("@EndDate", DBNull.Value)
        End If

        Dim RegionIDParam As SqlParameter
        If Not IsNothing(RegionID) Then
            RegionIDParam = New SqlParameter("@RegionID", RegionID)
        Else
            RegionIDParam = New SqlParameter("@RegionID", DBNull.Value)
        End If

        Dim StaffIDParam As SqlParameter
        If Not IsNothing(StaffID) Then
            StaffIDParam = New SqlParameter("@StaffID", StaffID)
        Else
            StaffIDParam = New SqlParameter("@StaffID", DBNull.Value)
        End If

        Dim ParamList As List(Of SqlParameter) = New List(Of SqlParameter)
        With ParamList
            .Add(StartDateParam)
            .Add(EndDateParam)
            .Add(RegionIDParam)
            .Add(StaffIDParam)
        End With

        Dim Params As SqlParameter() = ParamList.ToArray()

        Dim Obj As List(Of USP_GetExpenseComputedTotals_Result) = vos.Database.SqlQuery(Of USP_GetExpenseComputedTotals_Result)("USP_GetExpenseComputedTotals", Params).ToList()


        Return Obj
    End Function


Viewing all articles
Browse latest Browse all 1698

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>