在c#中连接数据库的最佳方法是什么?

时间:2014-02-17 07:51:25

标签: c# database linq ado.net entity

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

  1. ADO.NET
  2. LINQ的
  3. 实体框架
  4. 但我对哪一个更有用和应用感到困惑。 请帮我? 感谢

3 个答案:

答案 0 :(得分:6)

  

我正在寻找在c#

中连接和使用sql server的最佳方法

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

  

1.ADO.NET

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

  

2.Linq

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

  

3.Entity Framework

实体框架使用Linq to Entities,它基于ADO.NET构建(内部Linq查询被转换为ADO.NET代码)。它易于使用,因为EF处理连接,生成和执行命令,并将查询结果映射到实体。但你应该为此付出代价。

答案 1 :(得分:1)

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

现在,LINQ,ENtity Framework - 猜猜看,他们不跟数据库说话。他们使用ADO.NET来做到这一点。

它们都是关于应用程序中更容易的编程 - 与数据库交谈是由相同的底层类完成的。如果返回数据,一切都会通过Connection,Command和SqlReader。

那就是说,绝对学习实体框架 - ORM是基线,编写手工制作的SL应该留给那些有意义的实例。非常复杂的查询无法以ORM形式表示。并且学习正确的SQL - 数据库可以做的比大多数人都知道的要多。

答案 2 :(得分:0)

没有“最佳方式”,因为它们各有许多优点和缺点,所以它取决于它。

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

LINQ不那么沉重,但有些人发现它不太方便。