2

如果我理解正确,我是否必须使用表适配器将数据放入我的类型化数据集中,我不能只创建强类型化数据集并让数据自动加载?(我也在 VS2012 中使用 .net 3.5 项目)

例如,我必须这样做才能获取数据(如果我这样做,我会得到数据)

 var a = new EvtDataSetTableAdapters.tblFileTableAdapter();
  a.GetData();

而不是仅仅这样做,(如果我这样做,我什么也得不到......我可以理解它是否延迟加载......??)

EvtDataSet o = new EvtDataSet();
var r = o.tblFile.Select();
4

3 回答 3

1

所有数据集(类型和无类型)都与数据库无关,即任何数据表都可以从 Oracle 中填充,就像从 MS-Sql 中一样容易。DataSet 不知道架构或连接字符串。

您需要一个适配器来读取/读取后备存储。

(并且 DataTable.Select() 可能来自 Linq-to-Datasets)。

于 2012-12-18T17:46:14.593 回答
0

类型化数据集的最佳用法:忽略,从不使用。改为 OTM。使用 LINQ。数据集——有类型和无类型——在 .NET 1.0 中很糟糕,从那时起,甚至 MS 也意识到了替代方案。10年没用过一个,不会用一个。

例外:报告 SQL 是“从外部输入”的应用程序,因此您基本上只需要一个通用数据容器。

使用 EntityFramework 或大量替代方案之一。

于 2012-12-18T17:56:23.463 回答
0

备受诟病、被误解的强类型数据集!通常是的,您将使用 aTableAdapter来加载数据并执行更新。使用设计器,您可以将参数查询添加到表适配器以支持您的程序所需的操作,例如select * from customers where customerid = @customerid

打电话给这个FillbyCustomerid

然后,您将使用以下TableAdapter内容为所选客户提取数据:

dim ta as new dscustomerstableadapters.customertableadapter
dim ds as new dsCustomers
ta.fillbycustomerid (ds.customers, ourid)
于 2013-01-05T18:38:52.653 回答