Я хотел бы знать, как преобразовать SQL-запрос, указанный ниже, в запрос LINQ в VB.Преобразование SQL в Linq, где есть в разделе
SELECT FacilityID
FROM tblFacilityProjects
WHERE FreedomEnabled = True and ProjectID in (840,841,842)
Я хотел бы знать, как преобразовать SQL-запрос, указанный ниже, в запрос LINQ в VB.Преобразование SQL в Linq, где есть в разделе
SELECT FacilityID
FROM tblFacilityProjects
WHERE FreedomEnabled = True and ProjectID in (840,841,842)
Нечто подобное должно сделать это, я думаю:
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
В Query в SQL
SELECT [Id], [UserId]
FROM [Tablename]
WHERE [UserId] IN (2, 3)
В Query в LINQ
Позволяет использовать Contains
функции 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
}
http://www.c-sharpcorner.com/blogs/4479/sql-in-and-not-in-clause-in-linq-using-vb-net.aspx
Создать список вашего проекта 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 должны быть какие-то ухищрения.
Именно то, что я искал. Спасибо! – slamsal
Лучше, чем несколько примеров, которые заняли более длинный маршрут, спасибо! – NETRookie