[英]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.