首页新闻找找看学习计划

ef 基于数字的模糊查询

0
悬赏园豆:30 [待解决问题]

基于文字的模糊查询如下

p => p.Name.Contains(searchStr)

但是如果Code是数字 

这个查询还要到数字中去查询 该如何写?

p.Code.Contains(searchStr)

小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2774
提问于:2014-08-19 09:41
< >
分享
所有回答(6)
0

p=> p.Code.GetType == typeof(int) ? (p.Name.Contains(searchStr) || p.Code.Contains(searchStr)) : p.Name.Contains(searchStr)

 

XiaoFaye | 园豆:3082 (老鸟四级) | 2014-08-19 09:48
0

没明白你说的“如果code是数字”是个什么意思。

var query = table;

query = query.where(p=>p.Name.Contains(searchStr);

if(p.Code is digital)//这里使用伪代码,具体要看你的意思

{

  query = query.Where(p=>p.Code.Contains(searchStr);

}

519740105 | 园豆:5810 (大侠五级) | 2014-08-19 10:49
0

p.Code.ToString().Contains(searchStr)

丶谦信 | 园豆:308 (菜鸟二级) | 2014-08-19 16:25
0

p=> p.Code.GetType == typeof(int) ? (p.Code.ToString().Contains(searchStr) || p.Name.Contains(searchStr)) : p.Code.ToString().Contains(searchStr)

白志伟 | 园豆:250 (菜鸟二级) | 2014-08-25 15:09
0

今天刚碰到了  已解决  1年前的问题了。

你的意思大概是让整型列也能进行模糊查询吧。我的实现方案是这样var idCollection=db.SomeTable.Select(v=>new{Id=v.Id,Code=v.Code }).ToList().Select(v=>new{Id=v.Id,Code=v.Code.ToString()}).Where(v=>v.Code.Contains(searchStr)).Select(v=>v.Id);

p=>idCollection.Contains(p.Code);

AndioM | 园豆:214 (菜鸟二级) | 2015-07-14 17:18
0

soga

夏冬更迭 | 园豆:206 (菜鸟二级) | 2015-07-16 12:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册