Skip to content

持久化一般放在模块内部,还是放在主应用上? #16

@bxjg1987

Description

@bxjg1987

大部分情况下我们需要的树形数据都很简单,所以我想在你的模块上提供一个默认实现(假如叫DefaultTree),关于持久化有两种想法

1、在模块内部实现持久化
在DefaultTree.Core中定义DefaultTreeEntity,实现IGeneralTree<TTree, TPrimaryKey>
在DefaultTree.EF中定义DBCotnext,其中定义DbSet
甚至继续提供应用服务TreeAppService、和一个通用的UI

2、模块中不处理持久化
在DefaultTree.Core中定义DefaultTreeEntity,实现IGeneralTree<TTree, TPrimaryKey>
在**主程序(也就是模块的使用方)**的DbContext去定义DbSet

前者这种方式如果我的系统有很多模块都涉及到持久化,那么我可能需要很多DbContext
后者这种方式感觉封装性不够强
请教下你有好的建议吗? 还是我哪想错了?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions