Ich verwende diese Abfrage, um Daten aus der Datenbank abzurufen.LINQ konvertiert Zeichenfolge in Sonderzeichen
string nfc = "53f8372c";
var temp = db.tempTable.AsNoTracking().Where(
x =>
x.uid.Equals(nfc, StringComparison.CurrentCultureIgnoreCase)
&& x.ENDED == null
&& x.STATUS.Equals(Constants.ACTIVE)
);
Die SQL, die von dieser Abfrage generiert wird, ist:
{SELECT
"Extent1"."ID" AS "ID",
"Extent1"."uid" AS "uid",
"Extent1"."ENDED" AS "ENDED",
"Extent1"."STATUS" AS "STATUS",
FROM "tempTable" "Extent1"
WHERE (("Extent1"."uid" = :p__linq__0) AND ("Extent1"."ENDED" IS NULL) AND ('Active' = "Extent1"."STATUS"))}
Warum es 53f8372c zu konvertiert: p__linq__0?
'x.uid.Equals (nfc, StringComparison.CurrentCultureIgnoreCase)' nfc ist Variable und nicht Zeichenkette literal/Konstante? – lad2025
Das ist ein SQL-Parameter. – juharr
@ lad2025 es ist eine Variable –