我的查询语句是这么写的:
return from ae in Context.GetTable<Article>()
let tagids = ae.tagids.Split(',')
where ae.tagids != null
from temp in tagids
where temp == tagid.ToString()
select ae;
Article表有个tagids字段,存放每个tag对应的ID,如1,2,3,23等,现在要查询包含有tag ID为3的文章...
tagid是个数组,你这样比较当然出错
return from ae in Context.GetTable<Article>()
let tagids = ae.tagids.Split(',')
from temp in tagids
where temp == tagid.ToString()
select ae;
楼上的视乎也不行
如果是外键做了关系表,直接查询即可 where(ae=>ae.tag.Any(y=>y==3))
如果是用一个字段存了逗号分隔的id,可以用where(x=>x.IndexOf(","+ae.tag+",")>-1)
这样使用的前提是你再字段中存的是,1,2,3,4,前后都有,这样的形式,否则1,11,121,111这些数据查出来就不准确了
where(x=>x.IndexOf(",3,")>-1)应该是这样,3是你需要查的