【问题标题】:what is the best way to connect to database in c#? [closed]在 C# 中连接到数据库的最佳方法是什么? [关闭]
【发布时间】:2014-02-17 07:51:24
【问题描述】:

我是 c# 的初学者,我正在寻找在 c# 中连接和使用 sql server 的最佳方法。我发现有三种使用数据库的方法:

  1. ADO.NET
  2. 林克
  3. 实体框架

但我对哪个更有用和更适用感到困惑。 请帮我? 谢谢

【问题讨论】:

    标签: c# database linq ado.net entity


    【解决方案1】:

    我正在寻找在 c# 中连接和使用 sql server 的最佳方式

    “最佳方式”可以根据您的项目要求进行不同的处理。没有适用于所有情况的最佳方法。有时您需要易于开发,有时您需要最佳性能,有时您需要兼顾两者(然后我选择Dapper)。此外,它还取决于您的应用程序的复杂性——您是否拥有丰富的域模型,或者您只是在 UI 上显示表格数据。

    1.ADO.NET

    最快的方式,但需要大量的手动编码。您应该手动设置数据库连接、打开和关闭它们、创建命令、为命令提供参数并执行命令。查询结果的映射也应该手动完成。

    2.Linq

    这不是连接数据库的方法。 Linq 是语言集成查询,它有很多实现 - Linq to Xml、Linq to DataSet、Linq to Object、Linq to SQL、Linq to Entities 等。

    3.实体框架

    Entity Framework 使用 Linq to Entities,它建立在 ADO.NET 之上(内部 Linq 查询被转换为 ADO.NET 代码)。它易于使用,因为 EF 为您处理连接、生成和执行命令以及将查询结果映射到实体。但是你应该为此付出代价。

    【讨论】:

      【解决方案2】:

      只有一种方法可以连接到数据库。 ADO.NET,更具体:Connection 对象。

      现在,LINQ,ENTity Framework - 你猜怎么着,它们不与数据库对话。他们使用 ADO.NET 来做到这一点。

      它们都是关于在应用程序中更容易编程 - 与数据库的对话是由相同的底层类完成的。如果返回数据,一切都通过一个连接、一个命令和一个 SqlReader。

      也就是说,一定要学习实体框架——ORM 是基线,编写手工制作的 SL 应该留给那些有意义的实例。无法以 ORM 形式表达的非常复杂的查询。并学习正确的 SQL - 数据库可以做的事情比大多数人意识到的要多。

      【讨论】:

        【解决方案3】:

        没有“最好的方法”,因为每种方法都有很多优点和缺点,所以要看情况。

        例如,实体框架很重,但连接数据库的方式很方便。它会自动从您的表和视图中生成对象。

        LINQ 不那么繁重,但有些人觉得它不太方便。

        【讨论】:

          猜你喜欢
          • 2022-01-23
          • 2011-03-20
          • 1970-01-01
          • 2010-09-06
          • 2014-03-12
          • 1970-01-01
          • 2014-08-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多