键入的数据集正确用法

时间:2012-12-18 17:13:20

标签: c# visual-studio strongly-typed-dataset typed-dataset

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

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

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

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

V7RTLEvtDataSet o = new V7RTLEvtDataSet();
var r = o.tblFile.Select();

3 个答案:

答案 0 :(得分:1)

所有DataSet(类型和无类型)都是数据库无关的,即任何DataTable都可以从Oracle填充,就像从MS-Sql一样简单。 DataSet不了解架构或连接字符串。

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

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

答案 1 :(得分:0)

打字数据集的最佳用法:忽略,永不使用。转而去OTM。使用LINQ。数据集 - 键入和无类型 - 当它们在.NET 1.0中时很糟糕,从那时起,即使MS已经实现了替代方案。 10年内不使用,不会使用一个。

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

使用EntityFramework或大量备选方案之一。

答案 2 :(得分:0)

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

调用此FillbyCustomerid

然后,您可以使用TableAdapter按以下方式提取所选客户的数据:

dim ta as new dscustomerstableadapters.customertableadapter
dim ds as new dsCustomers
ta.fillbycustomerid (ds.customers, ourid)