【问题标题】:Linq to Sql convert to generic list in VB.NETLinq to Sql 转换为 VB.NET 中的通用列表
【发布时间】:2009-07-02 04:51:22
【问题描述】:

我正在尝试为下周开始的合作学习一些 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# 中执行此操作,那么 myProjects 将是 var,作为回报,我将拥有

return myProjects.ToList();

而且它会正常工作。但是,如果我尝试在 VB.NET 中使用 ToList(),我会收到错误,即它无法将其从 ling 转换为 sql List 到通用列表。

如何在 VB.NET 中进行这种转换?或者也许还有其他方法?

我在 C# 方面表现不错,但对 VB.NET 语法有些迷失。

【问题讨论】:

    标签: asp.net sql vb.net linq


    【解决方案1】:

    我讨厌它。 第二次在我问了我的问题之后,我意识到了我的风险。 它与 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()
    

    现在一切正常。

    【讨论】:

      猜你喜欢
      • 2010-10-22
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2020-08-28
      • 1970-01-01
      相关资源
      最近更新 更多