VB.NET从ADO.NET切换到LINQ

时间:2010-03-15 14:56:21

标签: vb.net linq ado.net

我对Linq很新。我有一个我在VB.NET 2.0中编写的应用程序。效果很好,但我想将此应用程序切换到Linq。我使用ADO.NET将XML加载到数据表中。 XML文件中包含大约90,000条记录。然后我使用Datatable.Select对该Datatable执行搜索。搜索控件是一个自由格式文本框。因此,如果用户按术语键入,则会立即搜索。输入的任何其他术语将继续限制结果。所以你可以输入Bob,或输入Bob Barker。或输入Bob Barker价格合适。键入的条件越多,结果越窄。我将结果绑定到gridview。

向前迈进我需要做什么?从高层次来看,我认为我需要:

1)转到项目属性 - >高级编译器设置并将目标框架从2.0更改为3.5。 2)添加对System.XML.Linq的引用,将Imports语句添加到类中。

所以我不确定那之后最好的方法是什么。我假设我使用XDocument.Load,然后我的搜索子程序针对XDocument运行。我是否只是为这种重复搜索做标准的Linq查询?像这样:

Dim people =

from phonebook in doc.Root.Elements("phonebook")

where phonebook.Element("userid") = "whatever"

select phonebook

有关如何最好地实施的任何提示?

2 个答案:

答案 0 :(得分:1)

首先,我应该提到var与C#一起使用而不是VB.Net(使用dim)。接下来,您可以根据需要随时重用linq查询xml。除非某些东西修改了内存中的xml,否则你应该没问题。

答案 1 :(得分:1)

此视频向您展示了如何从XML文档启用intellisense。我广泛使用它。希望它有所帮助: http://www.asp.net/learn/linq-videos/video-216.aspx

然后,您可以使用已选择的项目列表来排除结果集中的项目。