O/RM,全程叫做 object-relational-mapping
以面向对象的思想进行对数据库的数据操作!
把数据库里的各个表实体话,对实体的进而达成对数据库的操作!
EF–Entity Framework 6
一、ORM框架–常用的ORM框架
- NHibernate
- Dapper
- IBatis.Net
- LinqToSql:只支持SQL Server,现在已经不更新了
- EntityFramework6
- EFCore
二、访问数据库对比
2.1 Application访问数据库
2.2 O/RM访问数据库
三、ORM底层实现
3.1 缺点:
- 大量的反射,性能影响
- 缓存一下(占内存/启动慢)——执行不影响
- SQL固定生成,但是僵化-对索引利用不够好,分页算法就不够好
- 在复杂的情况下应对较麻烦, ORM工具一般也可以支持写SQL
3.2 优点:
- 开发快捷,降低学习SQL的成本
- ORM一般还能适应不同数据库的迁移
3.3 个人看法:
O/RM只是一个工具,去完成它擅长的事儿;也有的事儿是它做不好的,也只能去结合别的工具来协作完成的,O/RM实际上是一种面向对象的做法,是一种思想上的进步,但是这个进步有代价的,会影响一定的性能。
四、EF6 映射数据库
4.1 DBFirst:数据库现行
需要先建立好数据库,然后通过数据库映射