我正在开发一个个人项目,作为了解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.
非常感谢任何指导。
答案 0 :(得分:3)
我同意TableAdapters,DataSet,DataTables等是“旧的”做事方式。
“新”方式将是Linq-to-SQL,Entity Framework或NHibernate。
就个人而言,我喜欢在需要的地方使用Linq-to-SQL以及普通的DBConnection
,DataReader
和DTO的组合。
答案 1 :(得分:2)
如果您想在.NET中使用更新的方式进行数据库访问,我建议您查看LINQ to SQL或Entity Framework。
答案 2 :(得分:1)
有many many many种不同的方法可以使用.Net从SQL Server 2008中检索数据。
表适配器并不是一个糟糕的方法;它们是.Net Framework的核心,易于入门并且功能相当强大,尽管它们的性能不如其他选项,并且通常需要更多内存。
答案 3 :(得分:0)
如果您的数据按照您想要的方式进行结构化,那么基本上表适配器就很好。如果要以不同的方式查看数据,则可以使用表适配器执行此操作,但是您无法将更改写回数据库,如果您只是生成报告,则可以。 如果要查看和更改数据,并且数据不在您要查看的结构中,则需要实体框架,以便您可以查询数据以使其成为不同的格式,并且仍然可以将任何更改写回。这就是从服务器调用MV到显示VM的数据