首页 新闻 会员 周边 捐助

请大神帮忙看看我写的这个数据库底层,提点一下

0
悬赏园豆:30 [待解决问题]

最近看了好多EntityFreamWork的数据库访问底层,于是自己也仿照网上的好代码,整理了一份数据库访问底层,但是写完以后我彻底模糊了。我感觉我最后封装出来的UnitOfWork.和DbContext差不多。好像没什么变化,是不是我整体思路有问题啊?跪求大神帮忙看看,并提点一下。非常感谢。

文章地址:http://www.cnblogs.com/ZHUYIN/p/4219572.html

Chobites的主页 Chobites | 初学一级 | 园豆:135
提问于:2015-01-11 16:13
< >
分享
所有回答(2)
0

404

吴瑞祥 | 园豆:29449 (高人七级) | 2015-01-11 23:37

不好意思 地址没弄好,是这个地址 谢谢

http://www.cnblogs.com/ZHUYIN/p/4219572.html

支持(0) 反对(0) Chobites | 园豆:135 (初学一级) | 2015-01-12 20:12
0

为了包装而包装,没看出你的包装的意图是什么?大家都包装,自己不包装一个不好意思?

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-01-12 10:27

地址是是这个谢谢

http://www.cnblogs.com/ZHUYIN/p/4219572.html

恩,我写的时候确实也有一些为了封装而封装。但是这几天。我改了以后我认为加了unitOfwork和 Repository还是有好处的,首先我在服务层我会基于接口来调用。做到了解耦。然后Repository里面的方法。我可以自己在需要的时候增加逻辑进去,如果是在服务成直接使用DbContext的话 ,那么如果我需要在DbContext已经有的方法中,增加自己的代码和逻辑的时候,因为我没有用类去封装它,到时候会麻烦很多,比如我在Repostory里面我就添加一些第三方的扩展

希望大哥能给我一些提点。让我可以更好的学习如何写一个好的数据访问底层。

 

 

支持(0) 反对(0) Chobites | 园豆:135 (初学一级) | 2015-01-12 20:16

@NET才是王道: 这么跟你说吧。如果你只是把EF当成一个数据库访问工具。你还是别用了。直接用dapper吧

因为这样弄完全没有意义。

我一直认为既然用了ORM,也就没有了数据访问层

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-01-12 22:15

@吴瑞祥:

  首先非常感谢大哥您对我的指点,但是还是希望你能够给我一些改进的建议吧,或者说可以告诉我EF应该如何用才是正确的呢?我也看了您说的dapper里面,看介绍来说它很快,但是需要拼写sql语句。使用orm就是为了少拼写语句不,当然它也有他的优势,所以还是有很多项目可以使用到。只是暂时我想学习一下EF如何去用,这个我也会去学习。

    您可以指点我EF该如何用,怎么用好它呢?因为一开始就叫我换掉底层用其他的,也没有根本上解决我的问题啊,因为我发这个帖子主要还是想学习EF该作为什么如何使用好它的初心。

    

支持(0) 反对(0) Chobites | 园豆:135 (初学一级) | 2015-01-13 09:34

@NET才是王道: 想用好ORM。首先就得去学领域驱动。设计领域模型,ORM访问的是仓储而不是数据库,

数据库的事情就不去管它了。我觉得EF是不需要数据访问层的。你直接在业务逻辑中操作就行了。所谓的工作单元,就是EF里的savechange了。封装EF没什么意义的。

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-01-13 09:52

@吴瑞祥: 恩,您说得确实是这样的,领域驱动我其实也有看一些博客和文章,但是一直对于它我还是非常的模糊的。那我还是先找一些领域驱动的数据来看好了。

支持(0) 反对(0) Chobites | 园豆:135 (初学一级) | 2015-01-13 11:33

@NET才是王道: 如果你只是为了少写sql语句,那你也可以自动生成sql语句

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2015-01-13 12:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册