簡體   English   中英

LINQ正在將字符串轉換為特殊字符

[英]LINQ is converting string to special characters

我正在使用此查詢從數據庫中獲取數據。

string nfc = "53f8372c";    
var temp = db.tempTable.AsNoTracking().Where(
               x =>
                   x.uid.Equals(nfc, StringComparison.CurrentCultureIgnoreCase)
                   && x.ENDED == null
                   && x.STATUS.Equals(Constants.ACTIVE)
              );

從該查詢生成的sql是:

{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"))}

為什么它將53f8372c轉換為:p__linq__0

那只是參數化SQL。 如果查看傳遞給查詢的參數,您會發現:p__linq__0的值為53f8372c

此參數化很有用,因為服務器可以緩存查詢計划,並使用不同的參數值將其重用於同一查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM