Ich frage mich, ob jemand definitiv weiß, ob LINQ to SQL die Fähigkeit hat, TSQL-Code zu generieren, der die ISNULL
-Funktion enthält?Kann LINQ to SQL TSQL generieren, das die ISNULL-Funktion enthält?
Ich bin mir bewusst, dass der coalesce Operator (??
) in einer Abfrage:
from o in Table
where (o.Field ?? 0) > 0
select o
werden LINQ dazu führen, SQL die COALESCE
Funktion zu emittieren:
SELECT [t0].[Field]
FROM [Table] AS [t0]
WHERE (COALESCE([t0].[Field],0)) > 0
Und, dass die Verwendung von Bedingter Operator (?:
) in einer Abfrage:
from o in Table
where (o.Field == null ? 0 : o.Field) > 0
select o
wird in TSQL führen eine CASE
Anweisung enthält:
SELECT [t0].[Field]
FROM [Table] AS [t0]
WHERE (
(CASE
WHEN [t0].[Field] IS NULL THEN 0
ELSE [t0].[Amount]
END)) > 0
Aber kann LINQ to SQL in Erzeugen von TSQL-Code umgewandelt werden, die ISNULL
wie folgt enthält?
SELECT [t0].[Field]
FROM [Table] AS [t0]
WHERE (ISNULL([t0].[Field],0)) > 0
Ich wette die Antwort ist "nein, kann es nicht", aber ich möchte etwas autoritatives sehen.
@dbaseman Das Q, das du verlinkt hast, steht in keinem Zusammenhang mit dem, was ich verlange. – arcain
Sie haben Recht, mein Fehler. – McGarnagle