我想知道这个问题有一段时间了。现在好像有很多方法不知道什么时候用什么?或者是否有必要学习它们。就像我不知道他们是否基本上做所有相同的事情,只是基本上坚持其中一个直到你掌握它然后也许看看其他的。
因此,当我参加 ASP.NET 课程时,它是我计划的一部分。
我们首先像 ADO.NET 那样,在代码中用 SQL 语句编写所有内容。然后我们转向三层架构。这是通过创建类似的类并拥有返回内容的数据集来完成的。
SQL是在课堂上写的。我个人从来没有真正喜欢这种方式,因为我总是觉得尝试正确引用很烦人,而且总体上不喜欢它。
然后我在 Asp.net 网站上找到了我非常喜欢的 3 层架构教程。他们使用类型化数据集。将数据集文件添加到 DAL 文件夹中,然后通过 GUI 制作表适配器和其他内容。然后你可以在这些 GUI 中编写你的代码,我发现它是完美的解决方案,因为现在我的 SQL 代码远离了我的代码,我不必担心引号和所有这些东西不正确或关闭连接和东西加上它甚至还有一个 SQL GUI 构建器!
然后我只需在 BLL 文件夹中创建文件并创建一个属性来获取表适配器并编写我的业务层逻辑。
我唯一不喜欢的是,因为它是键入的,如果我的东西试图返回一些新行,它会生气。
因此,当我必须连接表时,我通常必须制作一个新的表适配器。
现在好像有很多这样的人。
- Linq -> 有些人说会取代 ADO.NET,有些人说不会。
- Linq 到 SQL
- ado.net
我不确定这是否是全部。可能不是。
在写这篇文章之前,我快速检查了一下 linq to sql 的内容,并看到一些帖子说 MS 正在消灭它。它们是从 2008 年开始的,所以我不知道这是否属实,但我注意到几乎所有 MVC 书籍都使用像 linq to sql 这样的内容,所以我认为不是这样。
那么是否值得切换到其他类型的数据集呢?或者各自用于不同的情况?
LINQ 本身只是 C# 3.0 中内置的一项基础技术(“语言集成查询”) - 它具有nothing本身与数据库有关。 LINQ 可用于多种事物 - 数据库、XML、内存中的对象、实体框架实体、Active Directory - 只要你能想到的。
Linq-To-SQL 是一种轻量级、简单、仅限 MS-SQLServer 的技术,它允许您轻松、良好地使用 SQL Server 表作为 .NET 应用程序中的真实对象。它是一个“对象关系映射器”,使处理数据库变得更加容易。它只是 SQL Server,微软不会进一步扩展它 - 它也可以在 .NET 4.0 中使用,但不会再进一步开发。
ADO.NET 是 .NET 中的基础数据访问技术 - 它使您可以访问各种数据存储(关系型和非关系型)。这是非常基本的技术——您以非常低级、原始的方式处理数据。
最重要的是,您还有 ADO.NET 数据集,它有点像 Linq-to-SQL,因为它们使处理数据库变得更加容易。与 Linq-to-SQL 相反,您不是在处理您的objects来自 .NET 代码中的域模型,但您正在处理面向数据库的行和列,就像它们存在于数据库中一样。它更直接地表示数据库中的内容,位于较低级别,与数据库布局紧密耦合,并且不像 Linq-To-SQL 对象那样“好”且易于使用 - 您处理低级行和列及其值。
如果您现在有选择,并且除了 SQL Server 之外不需要任何东西,我强烈建议您查看 Linq-to-SQL - 从原始数据库表到漂亮且易于使用的 .NET 对象的映射确实让您的生活变得更加美好轻松多了!
Marc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)