Sto usando un'applicazione ASP.NET MVC 4 con Entity Framework.
Voglio passare i valori nulli in modo condizionale, diciamo se passiamo il valore in DeptID
quindi dovrebbe elencare i valori per solo DeptID
passato, e se passate DeptID = NULL
allora dovrebbe farlo tutti i reparti.
Ho scritto una procedura controllando DeptID
e restituisce l'output desiderato (se DeptID
è null
, vengono restituite tutte le righe).
Ma il problema è quando voglio passare valori nulli attraverso il seguente codice di Entity Framework che non funziona.
IdleTicketsChecker.Data.Test11Entities objModel = new Data.Test11Entities();
List<GeResult_Result> objTicketList =ExecuteCustomStoredProc<GetIdleTicketsByMinutes_Result>("GeResult", " @DeptID",
new SqlParameter("DeptID", DeptID)).ToList();
Qualche idea sul perché sia così?
Se DeptID
è NULL, è necessario passare DBNull.Value
nel proprio SqlParameter
Prova questo:
IdleTicketsChecker.Data.Test11Entities objModel = new Data.Test11Entities();
// I'm *assuming* that DeptID is defined as an "int" - if not, adapt as needed
SqlParameter paramDeptId = new SqlParameter("DeptID", SqlDbType.Int);
if (DeptID == null)
paramDeptId.Value = DBType.Null;
else
paramDeptId.Value = DeptID;
List<GeResult_Result> objTicketList = ExecuteCustomStoredProc<GetIdleTicketsByMinutes_Result>("GeResult", "@DeptID", paramDeptId).ToList();