Me preguntaba si alguien sabe definitivamente si LINQ to SQL tiene la capacidad de generar código TSQL que contiene la función ISNULL
?¿Puede LINQ to SQL generar TSQL que contenga la función ISNULL?
Soy consciente de que el uso del operador se unen (??
) en una consulta:
from o in Table
where (o.Field ?? 0) > 0
select o
hará que LINQ a SQL para emitir la función COALESCE
:
SELECT [t0].[Field]
FROM [Table] AS [t0]
WHERE (COALESCE([t0].[Field],0)) > 0
Y, que el uso de la operador condicional (?:
) en una consulta:
from o in Table
where (o.Field == null ? 0 : o.Field) > 0
select o
resultará en TSQL que contenga una declaración CASE
:
SELECT [t0].[Field]
FROM [Table] AS [t0]
WHERE (
(CASE
WHEN [t0].[Field] IS NULL THEN 0
ELSE [t0].[Amount]
END)) > 0
embargo, puede LINQ a SQL ser obligado a generar código TSQL que contenga ISNULL
como el siguiente?
SELECT [t0].[Field]
FROM [Table] AS [t0]
WHERE (ISNULL([t0].[Field],0)) > 0
Apuesto a que la respuesta es "no, no puede", pero me gustaría ver algo autoritario.
@dbaseman La Q que enlazó parece no relacionada con lo que estoy preguntando. – arcain
Tienes razón, mi error. – McGarnagle