首页新闻找找看学习计划

NopCommerce中EntityFramework的设计思路。当遇到多个数据库时怎么样优雅的处理?

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

看了nopcommerce的代码后,感觉他用EntityFramework方法比较灵活。遗憾是如果有多个数据库的时候,没有给出处理方案,然后我略微改了一下,但发现自己写的代码丑爆了,完全没有办法想设计数据库哪样设计代码!

但等我想找人问的稍后,发现自己没法直观简洁的描述自己遇到的问题。所以觉得自己的问题不在代码上,而是自己处理问题的方式上。之前看过一篇图文,觉得有一句话说的非常好:如果干不好一件事,哪就要干好这件事相关的所有细分。

我遇到的问题如下:

目前的设计如上图。

CustomerRepository是实现与数据库交互的地方,数据库操作是由ObjectContext实现的。

ObjectContext重写了DbContext的OnModelCreating方法,用于将各种EntityMapping(继承自EfEntityConfiguration<>,用于为Entity添加配置)通过反射的方式添加到DbModelBuilder。

当有多个DbContext时,CustomerRepository的父类EfRepository会根据其自身或其继承的所有类和接口(递归)上的ContextName特性来判断实例化哪个DbContext。

 

但问题是,ObjectContext在实例化的时候需要将EntityMapping添加到DbModelBuilder。怎么设计不同的ObjectContext添加不同的EntityMapping哪??

 

希望给出建议!

Thancoo的主页 Thancoo | 初学一级 | 园豆:144
提问于:2018-01-28 22:54
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册