我試圖用EF函式的方法來檢查兩個字串的平等性,但它不知何故失敗了,而且在空格處得到空。
這兩個字串如下,在這里你可以看到唯一的區別是SPACE
顯示名稱是L1-008-5 SPACE,我在空間身份物件中存盤了顯示名稱,就像這樣 L1-008-5 Space
L1-008-5 SPACE 和 L1-008-5 Space
下面是代碼
var space = dbContext.Spaces.SingleOrDefault(a => EF.Function.Like(a.SpaceIdentity.DisplayName, displayName))。
我也嘗試了下面的選項
dbContext.Spaces.SingleOrDefault(s => s.SpaceIdentity.DisplayName.Equals(displayName, StringComparison.OrdinalIgnoreCase)) 。
dbContext.Spaces.SingleOrDefault(s => string.Equals(s.SpaceIdentity.DisplayName,displayName, StringComparison.OrdinalIgnoreCase)) 。
上面的方法都不奏效,在空格上得到的是空的。
誰能指點一下?
誰能給我指出我在上述比較中的錯誤之處。
預先感謝!
uj5u.com熱心網友回復:
假設你正在使用EF Core的Npgsql.EntityFrameworkCore.PostgreSQL提供者,你應該能夠訪問ILike方法,這是一個不區分大小寫的LIKE。這意味著你能夠使用這段代碼:
var space = dbContext.Spaces
.SingleOrDefault(a =>
EF.Functions.ILike(a.SpaceIdentity.DisplayName, displayName))。
//^^^^^
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331784.html
標籤:
上一篇:在表格中使用類中的方法
