Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中使用linq显示数据库中的列表_Vb.net_Linq - Fatal编程技术网

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

在vb.net中使用linq显示数据库中的列表,vb.net,linq,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 =

我对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

您可以在循环中遍历列表,因此,实际上不需要按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
我假设通过方法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())

要想弄明白需要一点时间,但不太难。

慢慢来。Link1其ListT类型的对象,没有名为Text的属性。但它实际上有一个属性函数,例如,不是名为Count的属性。所以试着写:dvLinks=Link1.Count。这样我们就能知道DB查询是否有效。非常好。错误消息带我们走了很远。她说,我们正试图在HtmlGenericControl类型变量中添加一个数字。通过Google,我发现这个对象有很多属性,比如InnerText。试着把数字放进去,像这样:dvLinks.InnerText=Link1.CountGreat!成功了…它显示了数字2,只有两件事符合查询条件下一步是什么让它列出它们?