类型化数据集的正确用法

问题描述 投票:2回答:3

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

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

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

与仅仅这样做,(如果我这样做,我什么都没有得到......我可以理解,如果它的懒惰加载......?

EvtDataSet o = new EvtDataSet();
var r = o.tblFile.Select();
c# visual-studio strongly-typed-dataset typed-dataset
3个回答
0
投票

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

叫这个 FillbyCustomerid.

然后,您将使用以下功能提取所选客户的数据 TableAdapter 意思是说,所有的DataSets(类型和非类型)都是与数据库无关的。

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

1
投票

所有的数据集(类型和非类型)都是与数据库无关的,也就是说,任何数据表都可以从Oracle中填入,就像从MS -Sql中填入一样容易。DataSet没有模式或连接字符串的知识。

你需要一个Adapter来从后备存储中读取数据。

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


0
投票

类型化数据集的最佳用法。忽略,永远不要使用。改用OTM。使用LINQ.Datasets.Select()。数据集--类型化的和非类型化的--在.NET 1.0时是很糟糕的,从那时起,即使是MS也实现了替代品。10年没有用过,也不会用。

例外情况。报表应用程序,其中SQL是 "外部输入",所以你基本上只需要一个通用的数据容器。

使用EntityFramework或者大量的替代品之一。

© www.soinside.com 2019 - 2024. All rights reserved.