如何使用空格执行linq搜索

本文关键字:linq 搜索 执行 空格 何使用 | 更新日期: 2023-09-27 18:15:20

我有一个linq查询,从sql表中获取数据。
在我的数据库中,值后面加空格,如下所示:
"Johny"(后面加5个空格)"。当我试图找到"Johny"-(没有空格)查询不工作。但是当我搜索"Johny"时(在Johny - 5个空格之后,它没有显示出来),它可以工作。
因为我不能更改base,所以我没有得到许可。
我怎样才能使它的工作没有空格-只改变我的查询?
我的代码:

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.net网页c#实体框架

如何使用空格执行linq搜索

使用Trim方法,EF支持:

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

使用Trim: (,在这种情况下也考虑更改查询语法,当涉及到连接时更容易读)

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
           };

还要看一下Final对象中属性名称的c#命名约定