2009-07-02 22 views
1

我想學習一些VB.NET,以便我的coo-op將於下週開始,爲此我攜帶了我在C#上的投資組合網站,並剛剛開始將其轉換爲VB.NET以熟悉語法。Linq to Sql轉換爲VB.NET中的通用列表

我相信我的問題很簡單,但我很難解決它。 我想用linq查詢獲取數據,然後將它作爲列表返回以綁定到Repeater。

我有以下功能:

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#中做它,然後MyProjects下將VAR,作爲回報,我將有

return myProjects.ToList(); 

而且它會正常工作。但是,如果我嘗試在VB.NET中使用ToList(),我得到的錯誤是它無法將它從ling轉換爲sql List到通用列表。

如何在VB.NET中進行此轉換?或者也許有另一種方式?

對於C#而言,我很體面,但是在VB.NET語法方面有些失落。

回答

1

我討厭它。 第二次,當我問我的問題,我意識到我mystake。 它是同在C#中,但如果我把

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

那麼我要麼需要有一個自定義對象,或者我需要的一切。 所以我改變了我的LINQ to SQL的

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

Return myProjects.ToList() 

,現在一切工作。