我是c#的初学者,我正在寻找在c#中连接和使用sql server的最佳方式。我发现有三种方法可以处理数据库:
但我对哪一个更有用和应用感到困惑。 请帮我? 感谢
答案 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不那么沉重,但有些人发现它不太方便。