我正在尝试创建一个允许您切换多个数据源的系统,例如:从实体框架切换到Dapper。我试图找到最好的方法来做到这一点。具有多个数据源的数据层体系结构
目前我对不同的数据层有不同的项目,例如, Entity Framework的Data.EF
,Dapper的Data.Dapper
。我已经使用了数据库方法,但是当它创建模型时,所生成的信息被耦合在一起并且不容易重构,例如,模型分离。
我有一个项目叫做模型,这个模块包含域和视图模型,我正在考虑创建Data.Core
并遵循存储库模式。但是,这样做会增加一个额外的层,所以我会有Presentation/Business/Repository/Data。
我想知道这种方法的最佳结构。我是否也应该采用代码优先的方式来创建我的数据库?这有助于分离关注并改善抽象。这是一个相当大的应用程序,所以要正确的结构是必不可少的。
感谢您的意见。真的很好的建议,并很高兴能走在正确的轨道。 –