微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linq与Sql之间的区别,Linq,类型化数据集,ADO.NET

我一直在想这一段时间.好像现在有这么多方式我不知道什么时候用什么?或者如果还有一点要去学习.像我不知道他们是否基本上做同样的事情,只是基本上坚持一个,直到你掌握它,然后可能看其他的.

所以当我参加一个ASP.NET课程,这是我的程序的一部分.

我们首先喜欢ADO.NET,我们在代码中使用sql语句编写了所有内容.然后我们转到了3层架构.这是通过使类似类和具有返回内容的数据集来完成的.

sql是在类中写的.我个人并不喜欢这样的方式,因为我总是觉得很讨厌,试图让引号正确,而且整体上都不喜欢.

然后我在Asp.net网站上找到了我真正喜欢的3层拱门的教程.他们使用类型化的数据集.您将数据集文件添加到DAL文件夹,您将通过GUI创建表适配器和内容.然后你会在这些GUI中写你的代码,我发现它是一个完美的解决方案,因为现在我的sql代码远离我的代码,我不必担心引号,所有的东西不正确或关闭连接和东西加上它甚至有一个sql GUI构建器!

然后我只需在BLL文件夹中创建文件,并创建一个属性来抓取表适配器并写入我的业务层逻辑.

我唯一不喜欢的是因为它是打字的,如果我的东西试图返回一些新的行会变得生气.

所以当我不得不加入表格时,我通常不得不制作一个新的表格适配器.

现在似乎有这么多的.

> Linq – >有些人表示会取代ADO.NET,有人说不会.
Linq到sql
> ado.net

我不知道这是否可能没有.

在写这篇文章之前,我做了一个快速检查,看看什么linq到sql是,并看到一些帖子说,MS正在杀死它.他们从2008年开始,所以我不知道这是否是真的,但我注意到,几乎所有的MVC书籍都像linq一样使用,所以我不认为它是.

那么它是否值得切换到另一个然后键入数据集的东西?还是分别用于不同的情况?

解决方法

LINQ本身就是一个基本的技术(“语言集成查询”),被烧录到C#3.0中 – 它与数据库无关. LINQ可以针对各种各样的事情 – 数据库,XML,内存中的对象,Entity Framework实体,Active Directory – 你命名它.

Linq-To-sql是轻量级,直接的MS-sqlServer技术,允许您在.NET应用程序中轻松,轻松地将sql Server表用作真实对象.它是一个“对象关系映射器”,使得处理数据库变得更加容易.它只是sql Server,而Microsoft不会进一步扩展它 – 也可以在.NET 4.0中使用,但不再进一步开发.

ADO.NET是.NET中的基础数据访问技术 – 它可以访问各种数据存储,关系和非关系.这是非常基本的技术 – 以低级别,低成本的方式处理您的数据.

除此之外,您还有ADO.NET数据集,它们有点像Linq-to-sql,因为它们使处理数据库变得更容易一些.与Linq-to sql相反,您并未在.NET代码中处理您的域模型中的对象,而是处理数据库导向的行和列,就像数据库中存在的一样.它是一个更直接的表示数据库中的内容,它处于较低级别,与数据库布局非常紧密相连,并不像Linq-To-sql对象那样“漂亮”,而且易于使用 – 您处理低级行列和它们的值.

如果您现在有选择,并且不需要任何东西,除了sql Server,我强烈建议检查Linq-to-sql – 从原始数据库表到好的和易于使用的.NET对象的映射真的让你的生活一个很容易!

渣子

原文地址:https://www.jb51.cc/mssql/82232.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐