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