我应该使用表适配器吗?

时间:2010-06-24 21:12:17

标签: c# sql-server-2008 .net-3.5 tableadapter

我正在开发一个个人项目,作为了解C#和.NET的更多信息,特别是创建一个利用数据库的应用程序(在我的情况下是MS SQL Server 2008)。虽然我欣赏并不总是有一种明确的“正确”做事方式,但考虑到使用旧技术/新想法或新技术/想法之间的选择,我宁愿使用新技术/想法。例如,我对这个项目的目标之一是学习,或者至少熟悉WPF,而不是像过去那样使用WinForms。

在此基础上,在将数据保存到我的数据库并检索数据方面,我一直没有太大的方向。到目前为止,我已经设法让两个人都使用TableAdapters,但我觉得他们是“旧的”工作方式(我的基础是它们列在MSDN上的Visual Studio 2005下)。首先,我在这个假设中是否正确?如果是这样,从数据库保存和检索数据的新方法是什么?我要感谢每种方法提供的任何利弊。

我已经Google搜索并广泛搜索了MSDN,但我觉得我没有使用正确的搜索字词,因为我只是成功地让自己感到困惑。

我可以随时使用.NET 3.5,Visual Studio 2008和Microsoft SQL Server 2008.

非常感谢任何指导。

4 个答案:

答案 0 :(得分:3)

我同意TableAdapters,DataSet,DataTables等是“旧的”做事方式。

“新”方式将是Linq-to-SQL,Entity Framework或NHibernate。

就个人而言,我喜欢在需要的地方使用Linq-to-SQL以及普通的DBConnectionDataReader和DTO的组合。

答案 1 :(得分:2)

如果您想在.NET中使用更新的方式进行数据库访问,我建议您查看LINQ to SQL或Entity Framework。

答案 2 :(得分:1)

many many many种不同的方法可以使用.Net从SQL Server 2008中检索数据。

表适配器并不是一个糟糕的方法;它们是.Net Framework的核心,易于入门并且功能相当强大,尽管它们的性能不如其他选项,并且通常需要更多内存。

答案 3 :(得分:0)

如果您的数据按照您想要的方式进行结构化,那么基本上表适配器就很好。如果要以不同的方式查看数据,则可以使用表适配器执行此操作,但是您无法将更改写回数据库,如果您只是生成报告,则可以。 如果要查看和更改数据,并且数据不在您要查看的结构中,则需要实体框架,以便您可以查询数据以使其成为不同的格式,并且仍然可以将任何更改写回。这就是从服务器调用MV到显示VM的数据