首页新闻找找看学习计划

SQL Server和MongoDB共存的问题

0
[待解决问题]

现在做的一个项目中使用了两种数据库,MongoDB和SQL Server,SQL Server使用的是EntityFramework做数据操作,也是一般的Repository的模式,于是有一个IRepository的接口,然后对应有两个实现:EfRepository和MongoDBRepository,在Service层只是依赖这个IRepository接口,也就是只能拿到基本的CRUD方法和一个IQueryable的集合做复杂查询,但是感觉这样的话有很多底层点的数据操作用不了了,不知道有没有什么好的设计,当然,直接让Service依赖具体的Repository实现也是可以的,但是感觉不妥。。。不知道有没有说清楚。。

jery-zeng的主页 jery-zeng | 初学一级 | 园豆:103
提问于:2014-05-26 22:25
< >
分享
所有回答(3)
0

……我准备弄一个和你的想法类似。不过没有公开IQueryable这个对象。感觉这个对象的权限太大了。而且觉得做一些发杂操作可读性不是很高。而是在IRepository接口上公开各个方法(相比IQueryable可读性高一些)。。但是也会存在一个IRepository中可能有一部分功能想使用MSSQL,一部分想使用MongoDB数据库。。没想到什么好办法,只有在前期规划的时候根据使用数据库的不同分两个IRepository来写!

滴答的雨 | 园豆:3690 (老鸟四级) | 2014-05-27 09:16

你搭的这个框架是开源的吗?可否提供参考下!

支持(0) 反对(0) 滴答的雨 | 园豆:3690 (老鸟四级) | 2014-05-27 09:16

@滴答的雨(何雨泉): 我学着NopCommerce写的,公司项目不方便提供。。

支持(0) 反对(0) jery-zeng | 园豆:103 (初学一级) | 2014-05-27 09:19

两个Repository,我觉得也是这样搞,因为一个Model存在哪个数据库这个应该是已经确定了的。。

支持(0) 反对(0) jery-zeng | 园豆:103 (初学一级) | 2014-05-27 09:21
0

仓储模式这样设计不好吧?

要是这样定义的,仓储的单位是什么?

吴瑞祥 | 园豆:28731 (高人七级) | 2014-05-27 10:08
0

之前在MongoDB萌阔论坛上看到过关于SQL Server和MongoDB对比的文章,你可以去看看,希望能帮助到你。
萌阔论坛:http://forum.foxera.com/mongodb/topic/165/查询语句对比-sql-server-v-s-mongodb?un=Jesse

JesseShi | 园豆:274 (菜鸟二级) | 2017-06-20 09:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册