使用vb.net中的linq显示数据库中的列表

时间:2014-09-18 15:41:00

标签: vb.net linq

我是vb和linq的新手,所以我很抱歉,如果我拥有的是完全错误的......我有一个页面是项目的详细视图。在其中,我想显示所有链接项目的列表。这就是我所拥有的......(我猜这是非常错误的)

Private Sub divLinks_OnLoad(sender As Object, e As EventArgs) Handles lbLinks.DataBinding
    Dim Link1 = (From a In ods.groups
                 Where (a.PID = PID_Number)
                 Select a).ToList

    dvLinks = Link1.Text 
End Sub

我甚至不确定我是否应该将代码放在我的div或者lisbox之后。我确信这很简单我现在只是脑死了我猜...

修改

我试过这个,没有错误,但仍然没有返回任何内容

Private Sub dvLinks_Load(sender As Object, e As EventArgs) Handles dvLinks.Load
    Call LoadLinks()
End Sub

Public Function LoadLinks()
    Dim Link1 = (From a In ods.groups
  Where (a.PID = PID_Number)
  Select a).ToList

    Return Link1.Count

End Function

1 个答案:

答案 0 :(得分:0)

您可以循环浏览列表(事实上,您不需要通过“ToList”导出)。

例如:

Private Sub dvLinks_Load(sender As Object, e As EventArgs) Handles dvLinks.Load
    Dim Link1 = From a In ods.groups
                Where (a.PID = PID_Number)
                Select a

    For Each group In Link1
        dvLinks.InnerText += group 
    End For
End Sub

我假设将Group转换为字符串(实际上是通过ToString方法)返回“有趣”的东西。如果没有,您可以访问该属性,例如:group.Name

这是为了简单起见,但就性能而言,不建议一遍又一遍地连接字符串(每次在内存中的不同位置重新创建它)。最好由LINQ编写像这样:

    Dim Link1 = From a In ods.groups
                Where (a.PID = PID_Number)
                Select a.ToString()

    dvLinks.InnerText = String.Join("<br/>", Link1.ToArray())

(需要一点时间来弄清楚但不是太难)。