输入banner图图片脚本导航/分类

Abp使用不同仓储连接多个数据库

abstract class ArticleRepository< TEntity, TPrimaryKey> : EfRepositoryBase<SampleDbContext, TEntity, TPrimaryKey> where TEntity : class ,IEntity<TPrimaryKey> { protected ArticleRepository(IDbContextProvider<SampleDbContext> dbContextProvider) : base(dbContextProvider) { } }

该仓储和默认仓储不一样的是SampleDbContext是其他数据库的上下文。这样就可以了,在Application中可以直接定义IRepository,然后在方法中就可以直接调用了,示例如下:

    private readonly IRepository<Article, System.Guid> _articleRepository;

        public ArticlesAppService(IRepository<Article, Guid> articleRepository)
        {
            _articleRepository = articleRepository;
        }

 注意这里的IRepository<Article, Guid>,第一个参数是IEntity类型的,所以需要修改Artice的定义,我是直接继承Entity<Guid>

Abp使用不同仓储连接多个数据库

标签: