LINQ to Entities 大小寫敏感比較詳解
以下LINQ to Entities查詢:
<code class="language-c#">Thingies.First(t => t.Name == "ThingamaBob");</code>
由於LINQ to Entities 將lambda表達式轉換為SQL語句,因此不會執行大小寫敏感的比較。 SQL Server預設使用的SQL_Latin1_General_CP1_CI_AS排序規則不區分大小寫。
伺服器端解決方案
要啟用大小寫敏感比較,請使用下列SQL指令將Thingies表中Name列的排序規則變更為COLLATE Latin1_General_CS_AS:
<code class="language-sql">ALTER TABLE Thingies ALTER COLUMN Name VARCHAR(25) COLLATE Latin1_General_CS_AS</code>
客戶端解決方案
或者,您可以使用LINQ to Objects執行大小寫敏感比較,但這效率較低:
<code class="language-c#">Thingies.Where(t => t.Name == "ThingamaBob") .AsEnumerable() .First(t => t.Name == "ThingamaBob");</code>
以上是如何使用 LINQ to Entities 執行區分大小寫的比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!