1

在我看来,微软每四五年就会改变一次关于数据库管理的规则。我记得以前 RDO 是连接到 SQL Server 的解决方案。我更新了使用 ADO 的知识,因为 RDO 已经过时了。ADO 非常好用且有效,但不久前,我发现自己正在编程并再次刷新我的知识以使用 ADO.NET。现在我正在使用 LINQ 进行我的第一个项目。

你怎么看?LINQ 是否准备好成为下一个标准,或者我应该等待并继续使用 ADO.NET,就像在 .NET 2.0 中一样?我需要根据您自己的经验知道,与它提供的好处相比,改用 LINQ 是否不会太贵。

4

4 回答 4

6

你应该等待什么?如果您考虑一下,您过去编写的任何代码在今天都将与当时一样运行良好。LINQ 是否比大多数早期方法更有效率?在我看来,是的,但是我真的很喜欢 LINQ。Linq To Entity 更好吗?不,它只是不同,老实说,在许多情况下,它的工作量要大得多。LINQ 的 IJW(它只是有效!)因素确实令人难以置信,它是很长一段时间内来自 Microsoft 的最优雅的技术之一。未来会不会有更好的东西?最有可能的。但是我们活在当下并编码,等待未来是一件愚蠢的事,因为总会有更好的东西在地平线上。

也就是说,这是抽象的一个很好的论据。当你设计你的类时,问问自己,我可以在我的数据层中替换 X(Linq、ADO.Net 等)而不破坏我的应用程序的其余部分吗?如果你能回答是,你可能有一个很好的设计。做一个合适的数据层真的不是那么难,它允许你灵活地从 Linq 切换到任何其他 ORM(链接到实体、nHibernate 等),甚至切换到一个完全不同的后端,比如Web 服务,或者下一个伟大的事物是什么。

此外,如果它让您放心,LINQ 也无济于事。它是语言的一部分,正在单声道中实现,并且正在添加更多的 linq 提供程序。即使微软转向不同的技术,你仍然会看到人们使用和支持 Linq。见鬼,它已经在某种程度上发生在 Linq to Entities 中,你仍然看到大多数使用 Linq 的开发人员大多会忽略 L2E。今天使用 LINQ 的唯一主要缺点是缺乏可免费获得的可靠 MySQL/PostOgre linq 提供程序,但有一些正在开发中。

于 2009-05-08T00:41:38.813 回答
2

应该澄清ado用于检索数据,linq是一种查询语言,您必须同时使用它们,它们不一样。Linq to Sql 为您提供了一个数据访问层,这可能就是您所说的,但微软已经宣布放弃对它的支持并使用 Linq to Entities。如果你等一下,不。他们明天就会推出 LinqToEntitiesADO.NET#!

于 2009-05-08T00:27:32.500 回答
2

LINQ 只是偶然地与数据库有关。总体而言,这确实是 Microsoft 对结构化数据访问进行更全面抽象的想法。但由于它的第一个表现形式是 LINQ-to-SQL,所以这是人们的第一个看法。当然,开发人员,尤其是那些对 SQL 不太熟悉的开发人员,都喜欢它。

但我认为它更像是 SQL 的替代品,而不是你提到的其他项目。

你应该开始使用 LINQ 吗?我想说首先阅读微软网站信息,看看你是否在概念上同意它。我认为这是一个很好的概念想法,微软有聪明的人在做这件事,而且没有太多的竞争。因此,只要您坚定地加入 .NET 组织,您就可能会喜欢它。有迹象表明,非微软世界最终也将加入,时间未定。

于 2009-05-08T00:29:42.977 回答
2

LINQ 作为一种语言功能将“永远”(永远不会说永远不对)消失,所以学习它。它可能允许您查询任何数据结构。即您可以使用 LINQ 来查询 LINQtoSQL 实体、XML、数据集等。

但是,如果您专门谈论 LINQ to SQL,那么我有点同意您的看法。

不到 2 年前,LINQ to SQL 就一直存在。现在它被放弃了,取而代之的是实体框架。

现在,是的,他们已经说过很多 LINQ to SQL 功能将被集成到实体框架中,但尽管如此,LINQ to SQL,正如许多人所采用的那样,已经被放弃了,而且肯定还有很大的空间改进。

检查此处的评论是否存在类似问题。

于 2009-05-08T00:44:32.647 回答