Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SQL转换为Linq,其中有in子句_Sql_Vb.net_Linq_Linq To Sql_Sql To Linq Conversion - Fatal编程技术网

将SQL转换为Linq,其中有in子句

将SQL转换为Linq,其中有in子句,sql,vb.net,linq,linq-to-sql,sql-to-linq-conversion,Sql,Vb.net,Linq,Linq To Sql,Sql To Linq Conversion,我想知道如何在VB中将下面列出的SQL查询转换为LINQ查询 SELECT FacilityID FROM tblFacilityProjects WHERE FreedomEnabled = True and ProjectID in (840,841,842) 在SQL查询中 SELECT [Id], [UserId] FROM [Tablename] WHERE [UserId] IN (2, 3) 在LINQ中的查询中 利用VB的包含功能 Dim coll As Integer(

我想知道如何在VB中将下面列出的SQL查询转换为LINQ查询

SELECT FacilityID 
FROM tblFacilityProjects 
WHERE FreedomEnabled = True and ProjectID in (840,841,842)

在SQL查询中

SELECT [Id], [UserId]
FROM [Tablename]
WHERE [UserId] IN (2, 3)
在LINQ中的查询中

利用VB的
包含
功能

Dim coll As Integer() = {2, 3}
Dim user = From u In tablename Where coll.Contains(u.UserId.Value) New 
From {
    u.id, u.userid
}

像这样的东西应该可以做到,我想:

Dim projectIds = New Integer() {840, 841, 842}
Dim result = From proj In db.tblFacilityProjects _
             Where proj.FreedomEnabled = True AndAlso _
                   projectIds.Contains(proj.ProjectID) _
             Select FacilityID

创建项目ID的列表

Dim list As New List(Of Integer)
list.Add(840)
list.Add(841)
list.Add(842)
现在你必须在LINQ中使用它

dim facilityId = from fp in tblFacilityProjects 
                 where FreedomEnabled == true
                 where list.Contains(ProjectID)
                 select new
                 {
                   FacilityID=fp.FacilityID
                 }

对于VB.net,您可能需要做一些调整

正是我想要的。非常感谢。比两个选择更长路线的示例要好,谢谢!