SELECT [t0].[ID]
FROM [dbo].[test] AS [t0]
WHERE [t0].[CID] = 'abc'
and ([t0].[ID] IN (Select RID from master where CID='abc'))
ORDER BY [t0].[ID]
这是我的查询,我为同一个编写了Linq_to_sql查询。但这让我犯了错误。
我的Linq查询。
Var IdList=db.Master.where(a=>a.CID=="abc").select(p=>new{p.RID}).toList();
var _List =db.test.where(a=>a.CID=="abc" && a.contains(IdList)).OrderBy(s => s.ID).ToList()
为什么抛出错误?
can not convert from 'system.collection.Generic.List<<anonymous type:string RID>>'to 'string'
答案 0 :(得分:1)
所以我们知道了
Var IdList=db.Master.where(a=>a.CID=="abc").select(p=>p.RID).toList();
var _List =db.test.where(a=>a.CID=="abc" && IdList.contains(a.ID)).OrderBy(s => s.ID).ToList();
答案 1 :(得分:0)
如果仅获取一列,则无需在select中编写new, 而且您还必须使用contains方法来检查上述ID查询中是否存在ID。
var ridList = db.master.where(x => x.cid ==='abc')。select(x => x.rid).tolist();
db.test.where(x => x.cid ==='abc'&& ridList.contains(x.id).OrderBy(s => s.ID).tolist();