c# - ADO.NET 还是 Linq to SQL?

标签 c# asp.net sql linq ado.net

我正在构建一个论坛,它有 4 个表:用户、主题、评论、主题。

我建立了连接和页面。我开始使用 ADO.net 方式插入数据和选择数据。但后来我发现要进行更复杂的操作,我需要了解 SQL。所以我在寻找另一种方法,我发现我可以打开 Visual Studio 2010,将 Linq 添加到生成对象关系设计器的 SQL 文件。我阅读了如何编写代码,发现我只需要使用带有 DataContext 对象的 using 语句和简单的代码来更新、添加、删除表中的行。

我想知道,使用一种查询方式比另一种查询方式有什么优势?

最佳答案

ADO.NET 使您可以对查询进行低级控制。如果查询速度很重要,那么这就是您想要的地方。如果速度不是很重要,但快速开发和对象关系模型很重要,那么 LINQ to SQL 是一个安全的选择。

不过,我会推荐 Linq to SQL over ADO.NET。

  1. 开发速度很快,以 ORM 方式思考是很自然的。
  2. 如果您的查询速度太慢,使用 .ExecuteQuery 方法将允许您传入经过优化的 sql 语句,就好像您是以 ADO.NET 方式执行的一样。我在 Linq to Sql 方面取得了很大的成功。

此外,我还会研究 Entity Framework 。与 Linq 相比,它使您可以更好地控制对象以及它们的实现、使用和处理方式。

关于c# - ADO.NET 还是 Linq to SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5994968/

相关文章:

mysql - 缓慢的存储过程 - SQL Server

c# - ScopeLock 模式 : Struct or Class?

c# - 是否可以在 Controller 外部的运行时获取路由数据?

asp.net - 如何在谷歌图表中以印度格式格式化金额

c# - 在函数内执行存储过程而不等待返回

mysql - 在数据库上执行SQL触发器以限制删除/更改/创建语法错误,尽管按照以下教程进行操作,但ON在此位置无效吗?

c# - 自定义 WebAPI "Access Denied"响应

c# - 在 Windows 下构建 mono 2.8

c# - 如何监听 ItemsControl 中两个项目之间的边距中的鼠标滚轮事件?

mysql - 在 SQL 中加入具有相同 ID 的两行的 SELECT