0

所以我最近在代码中遇到了这个解决方案,想知道它是否被认为是从强类型数据集/表中检索单行的“可接受”方式。

基本上我们所拥有的是这样的:

Dim fooAdapter As New FooDataSetTableAdapters.FooTableAdapter()
Dim fooRow As FooDataSet.FooRow = CType(fooAdapter.GetData().Select("SomeFooField=50")(0), FooDataSet.FooRow)

with fooRow
..
..
end with

虽然上面的代码有效,但我主要担心的是调用 fooAdapter.GetData() 实际上会在应用 Select() 过滤器之前获取表中的所有数据,这可能会随着时间的推移而减慢速度......有没有更清洁的方法这种或这种做事方式好吗?

编辑:过滤条件不是主键字段,因此调用表的 FindByFooID 方法将不起作用...

4

1 回答 1

3

使用数据集编辑器工具创建一个带有 SQL 的查询GetUniqueFoo,该 SQL 将基于SomeFooField. 您可以使用fooAdapter.GetUniqueFoo(SomeFooValue).

于 2012-11-27T02:47:50.567 回答