簡體   English   中英

如何使用空格執行linq搜索

[英]How to perform linq search with spaces

我有一個linq查詢,它從sql table獲取數據。
在我的數據庫中,在值后面加上空格,如下所示:
“約翰尼(之后還有5個空格)”。 當我嘗試找到“ Johny”時(無空格)查詢不起作用。 但是當我搜索“ Johny”(在Johny之后-5個空格,它沒有顯示在那里)時,它起作用了。
因為我不能在基礎上改變東西,所以我沒有這個權限。
如何使它在沒有空格的情況下工作-僅更改查詢?
我的代碼:

var fidn = (repository.users.Join(repository.usersLG, 
                                  post => post.pcod ,    
                                  meta => meta.pcod,  
                                  (post, meta) => new { Post = post, Meta = meta }) 
                             .Where(postAndMeta => postAndMeta.Post.fam_v == "Johny           ").ToList())
                             .Select(x => new  Final { 
                                 mcod = x.Post.mcod,
                                 pcod = x.Post.pcod, 
                                 c_ogrn = x.Post.c_ogrn, 
                                 fam_v = x.Post.fam_v, 
                                 im_v = x.Post.im_v,
                                 ot_v = x.Post.ot_v,
                                 idGK = x.Meta.idGK });

ASP網頁C#實體框架

使用Trim方法,它受EF支持:

 //...
 .Where(postAndMeta => postAndMeta.Post.fam_v.Trim() == "Johny") 
 //...

使用Trim :( 並且在這種情況下,也可以考慮更改為查詢語法,在涉及IMO時,IMO更具可讀性

var fidn = from post in repository.users 
           join meta in repository.usersLG on post.pcod equals meta.pcod
           where post.fam_v.Trim() == "Johny"
           select new Final {
               mcod = post.mcod,
               pcod = post.pcod, 
               c_ogrn = post.c_ogrn, 
               fam_v = post.fam_v, 
               im_v = post.im_v,
               ot_v = post.ot_v, 
               idGK = meta.idGK
           };

Aslo看一下C#命名約定 ,以了解Final對象中屬性的名稱

暫無
暫無

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

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