C#linq查询转换为vb.net
我有一些C#LINQ代码,希望将其转换为vb.net。你能帮忙吗? Dim ProjectsPerUser作为新列表(tbProjekt的) var currentUserId=25C#linq查询转换为vb.net,c#,vb.net,linq,linq-to-entities,C#,Vb.net,Linq,Linq To Entities,我有一些C#LINQ代码,希望将其转换为vb.net。你能帮忙吗? Dim ProjectsPerUser作为新列表(tbProjekt的) var currentUserId=25 var-prjection=10 ProjectsPerUser = db.tbProjekt.Where(s => s.tbUserProjects .Any(x => x.UserId == currentUserId)).ToList(); 在
var-prjection=10
ProjectsPerUser = db.tbProjekt.Where(s => s.tbUserProjects
.Any(x => x.UserId == currentUserId)).ToList();
在第一个案例中,我尝试:
Dim ProjectsPerUser As New List(Of tbProjekt)
var currentUserId = 25;
ProjectsPerUser = db.tbProjekt.Where(Function(s) s.tbUserProjects.Any(Function(x) x.UserId = currentUserId )).ToList()
但是,我有一个错误:
后期绑定操作无法转换为表达式树
在线s.tbUserProjects.Any
完整代码:
(上下文中的表格:tbProjekt和tbUserProjects)
应该只是一个问题:
ProjectsPerUser = db.tbProjekt.Where(Function(s) s.tbUserProjects.Any(Function(x) x.UserId = currentUserId)).ToList()
您是否启用了
选项推断
?没有,我需要它做什么?编译器可以推断Linq扩展方法中使用的泛型类型。另一方面,您必须显式声明它们:函数(s As Project).
@d Stanley我在上添加了推断,但在我的主要帖子中仍然出现此错误。您显式声明类型是什么(s As Project
,x As UserProject
)?
ProjectsPerUser = db.tbProjekt.Where(Function(s) s.tbUserProjects.Any(Function(x) x.UserId = currentUserId)).ToList()