经过一段时间对EF的研究,发现EF还是有很大的作用的,起码比自己写代码快捷许多。不过往往一个学习一个新东西开始都是简单的,后面才慢慢了解到它的许多不方便
优点:
EF在对一个实体的增删改以及继承方面做的都很好,尤其是喜欢许多ORM都做了缓存的功能,对数据库的压力减少不小。由于是微软的,文档也很多是英文,导致自己许多都看不懂,英语是一个硬伤啊!
缺点:
这个我不得不吐槽一下了,前不久把一个项目的底层从Nhibernate改成EF,因为Nhibernate功能比较强大,许多东西理解不透彻,导致在项目中出了很多随机问题搞不定,只能换成EF,学习了一周也运用到项目中才发现EF也没有想象中的那么好,没有Nhibernate那么强大,就拿一个栗子来说,删除从表的时候我并没有通过DB删除而是直接在查询出的集合中进行删除,然后我去保存的时候会出现问题,这个后来我在db中删除从表再保存是没有问题的,也就验证了他对单个实体做的很好,集合方面还不是很完善。
总结:
EF在小型项目或者对数据库操作不是太频繁的项目中运用是没有问题的,但是大型项目中还是建议使用Nhibernate,毕竟功能更加完善!最后希望微软继续把EF做强