0

VB例子请

我需要从 linq 返回与使用 SQL 相同的结果

SELECT DISTINCT Area, Region FROM dbo.Regions Union SELECT null,'All' Order by 1,2

我用它来显示组合框中的“全部”选择

我当前的 linq 指向一个为我执行联合的视图,但我想知道如何在 linq 中正确执行此操作。我不知道如何为 null,'All' 值合并一行。

    Public Shared Function GetRegions(ByVal Area As String) As IEnumerable

        Dim DB As New SiteDBDataContext
        Return From values In DB.uv_Areas _
            Where values.Area = Area Or Area = "" Or values.Area Is Nothing _
            Order By values.Region _
            Select values.Area, values,Region

    End Function

谢谢

4

1 回答 1

0

您不能使用 Linq to SQL 或实体框架在数据库中执行此操作,但您可以使用 Linq to Objects 在内存中执行此操作:

Public Shared Function GetRegions(ByVal Area As String) As IEnumerable

    Dim DB As New SiteDBDataContext
    Dim query = _
        From values In DB.uv_Areas _
        Where values.Area = Area Or Area = "" Or values.Area Is Nothing _
        Order By values.Region _
        Select New With { values.Area, values.Region }

    Dim all = { New With { .Area = DirectCast(Nothing, String), .Region = "All } }
    Return all.Concat(query)

End Function
于 2012-06-20T22:47:00.627 回答