C # ExecuteQuery valore nullo
-
22-09-2019 - |
Domanda
Ho qualche codice:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
Comunque anche io voglio essere in grado di trasmettere valori vuoti alla stored procedure in modo che semplicemente non li usa.
Ora, con le stringhe questo è facile, posso solo passare String.Empty e funzionerà. Tuttavia, se voglio passare date vuote questo è un problema.
Io, ovviamente provato:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
Ma questo non significa' lavoro, dà l'errore:
System.Exception:. Un queryparameter non può essere di tipo System.Object
Dopo qualche lettura ho scoperto che l'ExecuteCommand non supporta parametri nulli, mentre le specifiche afferma che dovrebbe.
Qualcuno ha incontrato questo problema e trovato una soluzione?
Grazie mille
Soluzione
Hai provato:
DBNull.Value
Altri suggerimenti
Hai provato l'invio DBNull.Value
o nuova Nullable<DateTime>()
?