最近看了好多EntityFreamWork的数据库访问底层,于是自己也仿照网上的好代码,整理了一份数据库访问底层,但是写完以后我彻底模糊了。我感觉我最后封装出来的UnitOfWork.和DbContext差不多。好像没什么变化,是不是我整体思路有问题啊?跪求大神帮忙看看,并提点一下。非常感谢。
文章地址:http://www.cnblogs.com/ZHUYIN/p/4219572.html
404
不好意思 地址没弄好,是这个地址 谢谢
http://www.cnblogs.com/ZHUYIN/p/4219572.html
为了包装而包装,没看出你的包装的意图是什么?大家都包装,自己不包装一个不好意思?
地址是是这个谢谢
http://www.cnblogs.com/ZHUYIN/p/4219572.html
恩,我写的时候确实也有一些为了封装而封装。但是这几天。我改了以后我认为加了unitOfwork和 Repository还是有好处的,首先我在服务层我会基于接口来调用。做到了解耦。然后Repository里面的方法。我可以自己在需要的时候增加逻辑进去,如果是在服务成直接使用DbContext的话 ,那么如果我需要在DbContext已经有的方法中,增加自己的代码和逻辑的时候,因为我没有用类去封装它,到时候会麻烦很多,比如我在Repostory里面我就添加一些第三方的扩展
希望大哥能给我一些提点。让我可以更好的学习如何写一个好的数据访问底层。
@NET才是王道: 这么跟你说吧。如果你只是把EF当成一个数据库访问工具。你还是别用了。直接用dapper吧
因为这样弄完全没有意义。
我一直认为既然用了ORM,也就没有了数据访问层
@吴瑞祥:
首先非常感谢大哥您对我的指点,但是还是希望你能够给我一些改进的建议吧,或者说可以告诉我EF应该如何用才是正确的呢?我也看了您说的dapper里面,看介绍来说它很快,但是需要拼写sql语句。使用orm就是为了少拼写语句不,当然它也有他的优势,所以还是有很多项目可以使用到。只是暂时我想学习一下EF如何去用,这个我也会去学习。
您可以指点我EF该如何用,怎么用好它呢?因为一开始就叫我换掉底层用其他的,也没有根本上解决我的问题啊,因为我发这个帖子主要还是想学习EF该作为什么如何使用好它的初心。
@NET才是王道: 想用好ORM。首先就得去学领域驱动。设计领域模型,ORM访问的是仓储而不是数据库,
数据库的事情就不去管它了。我觉得EF是不需要数据访问层的。你直接在业务逻辑中操作就行了。所谓的工作单元,就是EF里的savechange了。封装EF没什么意义的。
@吴瑞祥: 恩,您说得确实是这样的,领域驱动我其实也有看一些博客和文章,但是一直对于它我还是非常的模糊的。那我还是先找一些领域驱动的数据来看好了。
@NET才是王道: 如果你只是为了少写sql语句,那你也可以自动生成sql语句