在c#中连接数据库的最佳方式是什么?
我是c#的初学者,我正在寻找连接并使用c#中的sql server的最佳方式。我发现有三种方式来操作数据库:在c#中连接数据库的最佳方式是什么?
- ADO.NET
- 的LINQ
- 实体框架
,但我成为困惑,哪一个更有效和应用。 请帮我吗? 谢谢
只有一种方法可以连接到数据库。 ADO.NET,更多指定:Connection对象。
现在,LINQ,ENtity Framework - 猜猜看,它们不会与数据库交谈。他们使用ADO.NET来做到这一点。
它们都是关于在应用程序中编程更简单 - 与数据库交谈是由相同的基础类完成的。如果返回数据,所有事情都会经过Connection,Command和SqlReader。
这就是说,肯定会学到实体框架 - 一个ORM是基线,写作手工SL应留给那些有意义的实例。非常复杂的查询不能用ORM格式表示。学习正确的SQL数据库可能比大多数人意识到的要多得多。
没有“最好的方式”,因为它们每一个都有很多优点和缺点,所以这取决于它。
例如,实体框架沉重,但方便的方式来连接数据库。它会自动从您的表格和视图中生成对象。
LINQ不那么重,但有些人觉得它不太方便。
我正在寻找最好的方式来连接并在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框架
实体框架使用LINQ到实体,它是建立在ADO.NET(内部LINQ查询都将被转换为ADO.NET代码)。它很容易使用,因为EF处理连接,生成并执行命令,并将查询结果映射到实体。但你应该为此付出业绩。