Day 6. 资料库篇

後端工程师最必须要会的其中一个技能,就是对资料库的操作,我相信很少有後端工程师可以完全不用学到对资料库的操作。


那麽,以.NET开发者来说有哪些选择呢?
首先,先来介绍

ADO.NET

最传统的解决方法,就是使用ADO.NET来完成对资料库的操作,首先你有几件事情要做

  1. 开启连线:你必须先宣告一个帮你连线到资料库的物件,并指定连线字串给他,让他有了目标资料库的连线资讯,才能帮你连接资料库
  2. 执行/查询SQL指令:你必须写出你要做的CRUD动作(Creat、Read、Update、Delete),这也表示你无法不去学习SQL语法,另外,如果你的资料库是MSSQL,你可能还要会T-SQL,如果你的资料库是Oracle,你必须要会PL SQL,如果你两个都有接触,那你除了两种资料库的SQL写法不同要搞清楚外,你还要特别注意两种资料库的资料型态略有不同,以MSSSQ来说,当你是varchar型态时,如果你insert的执是空字串,那他就是空字串,但Oracle的varchar2,你如果传入空字串,他会当成是null。
  3. 关闭连线:一个资料库能用的连线池数量有限,因此当你用完後最好就尽快释放资源,让其他执行续能够使用。

Entity Framework

简称EF,是微软以ADO.NET为基底实作出的一套资料操作框架,使用上可以维持原本的下SQL指另外,最主要的功能还是在於快速产出对应的资料模型,透过强型别的开发方式减少了许多ADO.NET在runtime时才会发现的Error,在.NET Core平台上也有相对应的.NET Core版本的EF,非常推荐新手学习,但EF并不算是好学的技术,因此也建议新手除了上网找资料外也去天珑书局买本书来看看。

Dapper

如果你觉得EF太复杂,但又想要享受EF的强型别的好处,但又不想花时间每个Table个字写Mapping的Code,那你一定要试试Dapper。虽然无法取代功能强大的EF,但如果想要从ADO.NET快速转换成强型别的Code,那Dapper就很适合你,他的ORM技术会自动帮你转换栏位名称相同的资料,让你不需要再继续使用DataSet、DataTable、DataRow了。

最後总结一下,这三种技术没有哪一种可以不用学,但先後顺序我会建议:ADO.NET>Dapper>EF


<<:  Day 4 -菜鸟报到 !

>>:  DAY6-JAVA的函数

Day 21-制作购物车之前端架构1

进入前端啦~ 因为原本比较着重於购物车系统的部分,所以前端可能做的比较不好,还请见谅 以下内容有参考...

System Design: 读书心得4

Elasticsearch/Solr/ELK Stash Caveat of using Elast...

JS 36 - 新增并记录网页的偏好颜色模式

大家好! 今天我们要实作网页的深浅色模式。 我们进入今天的主题吧! 样式 body { backgr...

Angular Stock登入(三)(Day23)

今天我们要来串接我们之前写好的 使用者登入 的API连结。 昨天我们已经可以在按钮绑定的doLogi...

etcd 元件浅解

在 Kubernetes 中元件间的通讯都是藉由 API Server 通讯,而 API Serve...