我是数据库的初学者,对编程很缺乏经验。对于C#控制台应用程序(我正在使用VS Express编写),经过测试后会添加一个UI,我需要使用数据库来存储其数据。
有人可以告诉我,或者指出这些数据库访问方法的初学者的解释,优点和缺点,以便我可以决定使用哪个?:
答案 0 :(得分:6)
那里的混合......首先是一些解释......
1)SQL客户端 SQL客户端是连接到SQL数据库的应用程序,用于查询/管理/使用SQL数据库中的数据。 (访问数据库,phpAdmin,SQLite管理员等的任何程序...)。
2)ORM是对象关系映射。它是一种在数据类型不兼容时转换不同类型数据的方法。考虑一个包含四个轮胎类实例的汽车类。这种类型的结构不能直接转换为数据库设计中可用的类型,并且可能是使用ORM的原因。 (将对象(汽车,轮胎等)与普通数据库类型(整数,浮点,blob等)相关联。
3)OLE(发音为Olay)DB是使用COM连接数据库的Microsoft方法(API)。 OLE DB是MDAC堆栈的一部分(MS技术的分组在数据访问框架中协同工作)。
4)ODBC是开放式数据库连接,是数据库管理系统(DBMS)的替代API。 OLE DB是一种与数据库集成的COM(组件对象模型)方式,其目标是与语言无关。
5)ADO.NET是一组基类(API),用于.NET语言以连接到数据库并与之通信。
我建议从ADO.net开始为您的C#背景,OLE通常用于较旧的(VB经典)应用程序,这里有一个很好的初学者教程http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson01.aspx
不要让所有的术语吓跑你,一旦你跳进去开始修修补补,你会理解所提供的所有答案都会更好......
最好的编码运气!! :-)
答案 1 :(得分:3)
SQLClient,OleDB,ODBC是不同DMBS的DBMS驱动程序/ ADO.NET实现(错误,希望有意义)。例如,SQLClient是用于连接到SQL Server数据库的ADO.NET实现。这些驱动程序之间的选择只是您要使用的数据库。对于初学者,我建议使用SQL Server,因为您可能已经安装了一些版本。
ORM是对象关系映射。这是基于代码的模型与存储它的数据库之间的自动映射的基于代码的实现。如果你不想在学习的过程中暂时手动触摸数据库,这是一个不错的选择 - 它对专业人士和初学者都很有用,因为它可以让你不用担心底层的数据库实现,或者自己编写CRUD(创建,读取,更新,删除)功能。看看ActiveRecord for .net(http://www.castleproject.org/activerecord/index.html)
答案 2 :(得分:1)
如果您正在寻找C#中数据库的简单介绍,那么您希望使用LINQ和数据上下文。
只需在项目中添加“数据上下文”即可。双击该文件以打开LINQ数据上下文的设计器。在visual studio中打开“Server Explorer”(在View下)并连接到SQL Server。使用它,您可以将表拖放到visual studio中的LINQ设计器上。
跳转谷歌并查看使用带有上下文的linq来处理数据库。
我将与LINQ一起跳到这里,说它鼓励你编写更好的数据库代码,不会一次性拉出整个数据集并对其进行操作,你推迟查询,你可以从中受益匪浅他们建立在它上面的功能基础设施。
但这有一个很大的学习曲线,最好的方法是尝试不同类型的代码,看看那些对你有意义的代码。