在vb.net中使用linq显示数据库中的列表
我对vb和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 =
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,只有两件事符合查询条件下一步是什么让它列出它们?