将 sql 查询转换为 linq 时,显示 long 的 linq 查询不包含包含的定义

朋友们我们正在将sql查询转换为linq查询,这个转换涉及到两个表如下


select * from Tbl_Vulpith_Registration where Profile_Pic is not null and MemId IN(select MemId from Tbl_List_Services)

这里 Tbl_Vulpith_Registration 和 Tbl_List_Services 都是表


memId 是两个表中的公共列。


按照我们尝试将上述 sql 查询转换为 linq


var reglist=  objentity.Tbl_Vulpith_Registration.Select(a => a).Where(a => a.Profile_Pic != null);

// var res= reglist.Where(a=>a.Tbl_List_Services)


var listmemsmemIds = objentity.Tbl_List_Services.Select(b => b.MemId).ToList();


var finalist = reglist.Select(b => b).Where(c => c.MemId.Contains(listmemsmemIds));

我们尝试了多种转换方式,但都没有成功。


眼眸繁星
浏览 219回答 2
2回答

烙印99

你需要做完全相反的事情:.Where(c => listmemsmemIds.Contains(c.MemId))

繁花不似锦

使用下面的代码连接两个表并获取输出(在内部,它只会创建一个查询)var reglist = objentity.Tbl_Vulpith_Registration.Join(objentity.Tbl_List_Services,       o => o.MemId, i => i.MemId, (o, i) => o).Where(o => o.Profile_Pic  != null).ToList()上面的代码根据匹配将表关联起来MemId,返回实体类型为 的对象Tbl_Vulpith_Registration。如果您想了解 Join 方法,请查看此链接。
打开App,查看更多内容
随时随地看视频慕课网APP