我的项目中有多个DB,所有DB都应来自BaseDbContext
的抽象DbContext
。我的BaseDbContext
包含新方法和DbContext
方法的某些替代。我的一个数据库应使用身份,因此它应继承自IdentityDbContext
,但也应继承我的BaseDbContext
,因为它需要相同的逻辑。
我怎样才能通过一个好的设计来做到这一点?
我考虑过的两个选项及其缺点是:
- 让我的
BaseDbContext
继承自IdentityDbContext
,这将在我的所有数据库中实际上只需要它们时创建所有身份表。 - 在数据库中从
BaseDbContext
复制需要使用身份的代码,并且仅从IdentityDbContext
继承,这将导致代码复制所带来的所有不良设计。
有更好的方法吗?我应该选择所列选项之一吗?