代码之家  ›  专栏  ›  技术社区  ›  Dmitris

linq to sql在vb.net中转换为泛型列表

  •  1
  • Dmitris  · 技术社区  · 17 年前

    我正在尝试为下周开始的COO OP学习一些vb.net,因此我选择了位于c上的公文包网站,并开始将其转换为vb.net以熟悉语法。

    我相信我的问题很简单,但是我很难解决。 我试图用LINQ查询获取数据,然后将其作为列表返回,以绑定到中继器。

    我有以下功能:

    Public Function getProjects() As List(Of portfolio_website)
            Using myPortfolio As New PortfolioDataContext
                Try
    
                    Dim myProjects = (From p In myPortfolio.portfolio_websites _
                                      Order By p.website_id Descending _
                                      Select New With {.name = p.website_name, .id = p.website_id}).Take(5)
    
                    Return myProjects
    
                Catch ex As Exception
                    Return Nothing
                End Try
            End Using
        End Function
    

    但是我得到了一个错误。

    如果我在C中做,那么我的项目将是 var 作为回报,我会

    return myProjects.ToList();
    

    它会很好地工作。但是,如果我尝试在vb.net中使用to list(),我会得到一个错误,它无法将它从ling转换为sql列表,也无法将其转换为泛型列表。

    如何在vb.net中进行这种转换?或许还有别的办法?

    当涉及到C时,我是很好的,但是对于vb.net语法有点丢失。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Dmitris    17 年前

    我讨厌它。 第二次,我问了我的问题,我意识到我的想法。 它和C中的一样,但是如果我

    Select New With {.name = p.website_name, .id = p.website_id
    

    然后我要么需要一个自定义对象,要么我需要得到所有东西。 所以我把linq改成了sql

     Dim myProjects = (From p In myPortfolio.portfolio_websites _
                                  Order By p.website_id Descending _
                                  Select p).Take(5)
    
     Return myProjects.ToList()
    

    现在一切都正常了。