C# ExecuteQuery NULL Valor
-
22-09-2019 - |
Pregunta
Tengo algún código:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", "19601023",
}
Sin embargo, también quiero poder pasar valores vacíos al procedimiento almacenado para que simplemente no los use.
Ahora con cadenas esto es fácil, puedo pasar una cadena. Sin embargo, si quiero pasar fechas vacías, este es un problema.
Obviamente lo intenté:
using (OAZISDBDataContext ctx = new OAZISDBDataContext())
{
IEnumerable<DBContactDetail> details = ctx.ExecuteQuery<DBContactDetail>("exec [dbo].[zna_contact] {0}, {1}",
"test", null,
}
Pero esto no funciona, da el error:
System.Exception: una consulta no puede ser de tipo System.Object.
Después de una lectura, descubrí que Execessecommand no admite parámetros nulos, mientras que la especificación afirma que debería.
¿Alguien ha encontrado este problema y ha encontrado una solución?
Gracias un montón
Solución
Has probado:
DBNull.Value
Otros consejos
Has intentado enviar DBNull.Value
o nuevo Nullable<DateTime>()
?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow