在学习Linq或实体框架之前,我应该学习“原始”ADO.Net吗?

时间:2011-03-17 13:37:38

标签: .net data-access

当我第一次开始学习如何做经典ASP,VBscript和HTML时,有人告诉我出去购买Dreamweaver因为“它会让生活变得轻松”所以我这样做了,这让我成为了我的第一份专业工作。问题是当HTML,VBScript和经典ASP开始出现问题时,我不知道如何修复它并且在很多深夜工作时试图找出我现在认为简单的问题,但显然对我来说并不简单当时(很多压力)。

话虽如此,我需要开始学习.NET中的数据访问策略,我不想再次讨论它。我应该学习原始ADO.NET(“原始”,我的意思是不是ORM或Linq,而是DataAdapters和读者),然后是Linq或ORM,还是我可以直接进入Linq / ORM的东西?我不是在寻找任何东西之间的比较,我正在寻找一个对我来说最适合作为开发人员长期的东西。感谢。

8 个答案:

答案 0 :(得分:3)

不要打扰DataAdapters和读者。它们与LINQ一样抽象。如果你比较熟悉SQL,那么你就完全了。只是尝试了解底层技术正在执行哪些类型的查询,以便了解何时需要删除原始SQL以改进某些内容。

答案 1 :(得分:3)

取决于您如何定义'学习'。

我认为你真正想要长期使用的工作是LINQ和EF。拥有ADO.Net之前的经验不会给你任何帮助,因为使用模式太不同了。

另一方面,了解幕后发生的事情是有用的(特别是关于查询和DataReader如何映射到实际的开放数据库连接)。

我建议您查看MSDN上的API,也许可以阅读一些示例,但不多了。这不应该花费太多时间,它会让您对使用模型有所了解。如果你以后发现自己与ADO.Net面对面,你可以随时回去寻找更多。

答案 2 :(得分:2)

由于the law of leaky abstractions,它有助于理解抽象下面的层。这并不意味着你需要走出去掌握ADO.NET,但是当不可避免地出现问题时,理解ORM下面的层会帮助你。

答案 3 :(得分:1)

对于开发人员而言,了解基础知识和基础知识的工作原理总是更好。

我没有看到开始学习ADO.NET的任何伤害。了解datareader和断开连接的数据集和内容,然后转向更新的功能,如LINQ。

答案 4 :(得分:1)

我认为你应该这样做。基本看一下它不会花费很多时间。但是理解连接,命令,适配器和读者将帮助您更快地摆脱错误。此外,我确信您有时无法使用Entity Framework解决问题,因此您需要简单的ASP.NET。

干杯,马蒂亚斯

答案 5 :(得分:1)

不需要学习传统的ADO.Net技术以转移到linq数据访问/实体框架。但为了得到强有力的支持,我建议你去学习。因为您可能有时间调试可能需要基础的数据提供程序问题。

直接跳转可以帮助你现在更快地完成工作,但无助于走几英里......

答案 6 :(得分:0)

你应该知道数据库基础:事务(非常重要),关系结构,约束等。我认为你不需要知道像DataAdapters这样的ADO特定的东西。

答案 7 :(得分:-1)

您无需了解DataAdapters和Readers,因为这些知识不能转移到使用ORM。

更有用的是尝试查看一些复杂的查询,并在SQL Server查询分析器等工具中运行它们。这将显示查询需要时间的位置,并将通过了解幕后发生的事情来帮助您优化LINQ查询。

在LINQ查询上运行SQL事件探查器也是一种好习惯。