首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我们仍然在.NET中使用DataSets?

为什么我们仍然在.NET中使用DataSets?
EN

Stack Overflow用户
提问于 2009-02-16 05:58:01
回答 7查看 7.5K关注 0票数 17

DataSets是.NET 1.0中最重要的事情之一,即使现在使用.NET 3.5,当我必须调用一个存储的过程时,我仍然发现自己必须使用them....especially,它返回一个数据集,然后我不得不手动将其转换为对象,以便更容易使用。

我从来没有真正喜欢过DataSets,并且发现它们令use...and讨厌,因此我倾向于将我对它们的了解保持在最低限度(可能是一件非常糟糕的事情!)。我还喜欢将它们快速转换为对象或对象列表,这样我就可以在代码中轻松地操作它们。

DataSets是否已过了使用截止日期?随着NHibernate等O/R映射器的出现,我想知道DataSets是会消亡,还是还会有一席之地?目前,我左右为难,是应该留出时间重新访问DataSets并学习如何正确使用它们,还是应该100%地支持O/R映射器,完全抛弃DataSets。

DataSets提供了NHibernate和LINQ等技术所不能提供的东西吗?如果不是,为什么我们还在使用它们呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-16 06:09:35

我从来没有正确使用过DataSet (连接到SQL Server上),但它曾经对特定需求很有用。我发现DataSet和DataView是实现数据/BLL层的非常方便的功能基类,直到我把一些真正经过深思熟虑的东西放到适当的位置为止。后面有很多功能,你应该知道,如果没有其他的话。

票数 6
EN

Stack Overflow用户

发布于 2009-03-23 22:56:45

不管是好是坏,答案是简单。当2.0框架问世并将TableAdapters包含在这个过程中时,获得基本的CRUD类型的应用程序变得非常容易,甚至是显示数据的首页。只需连接到您的服务器,拖动表,结构就到位了,包括外键/主键/唯一键引用。需要对此数据执行更新吗?使用向导,指定现有过程,或让向导为您生成即席/存储过程。

完成后,将其连接到GridView,您可以快速执行许多操作:重新排序、重新查询、在断开连接的情况下编辑多个记录,以及单个或批量更新。当你在做想要快速完成的项目时,这种便利是很难错过的。此外,如果需要的话,使用这种原生"DataTable“格式可以方便地进行DataSet诡计,因为XML模型在幕后使用了很多东西。

我承认我还没有看过ORM的最新版本,我也不确定是否有LINQ的向导可以在点击几下就能完成这么多工作。而且大多数人适应新技术的速度有点慢,所以很容易看出它仍然被大量使用。

看到新的动态数据服务站点/项目建立在LINQ to SQL或LINQ to EF的基础上,我认为潮流最终可能会改变为新的模型。

票数 9
EN

Stack Overflow用户

发布于 2009-02-16 06:08:43

我认为数据集最大的问题是它们基本上鼓励您在内存中创建dbms。我喜欢Linq/entities满足您的数据需求的方式,它们依靠标准的.Net集合、类和泛型来工作。

也就是说,我不会否定在内存中动态读取非类型化数据和应用关系等功能的能力,这仍然是非常非常强大的功能,这取决于您的情况。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/552371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档