我想从列表中存在的连接linq查询中提取这些记录,显然我有这些数据
lst_Unique
table_Prt
table_Exp
但我的查询不起作用
var Query = from c in db.table_Exp join d in db.table_Prt
on c.PrId equals d.PrId
.Where( t=> lst_Unique.Contains(t.PrId))
select new {c.Name,d.Code,d.Age} ;
我该如何解决?实际上在"其中"声明。 谢谢你的帮助
答案 0 :(得分:4)
您不能像这样混合查询语法和方法语法,查询语法应始终以select
或groupby
子句结束。
如果我理解正确,那么这就是你想要的: -
var Query = from c in db.table_Exp join d in db.table_Prt
on c.PrId equals d.UniprotID
where lst_Unique.Contains(c.PrId)
select new {c.Name,d.Code,d.Age} ;
在这里,我认为您希望将Id
表的table_Exp
属性与唯一列表匹配,但您需要根据您的要求进行相应更改。
答案 1 :(得分:-1)
删除“。”在查询中的位置之前。
var Query = from c in db.table_Exp join d in db.table_Prt
on c.PrId equals d.UniprotID
Where( t=> lst_Unique.Contains(t.PrId))
select new {c.Name,d.Code,d.Age} ;