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

有群友说官方例子中有,无奈英文和网速太差。。。自己琢磨吧。

最近开发的项目中,需要从外部系统中读取一些信息,计算之后存入本地的数据库中,外部系统直接提供数据库给我。。所以本地需要用到多数据库连接。

项目采用ABP框架开发,不熟悉的可以看看这里

言归正传,我的项目中已经有了一个DbContext继承至 AbpZeroCommonDbContext,新建一个上下文,我项目中是使用DbFirst直接从数据库中生成的,然后继承至AbpDbContext,我就是这里忘了修改继承直接继承DbContext了结果整了半天。。。再到Repositories中添加该上下文的的仓储:

 public 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>

时间: 2024-10-25 20:38:39

Abp使用不同仓储连接多个数据库的相关文章

ABP领域层——仓储(Repositories)

ABP领域层——仓储(Repositories) 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由台湾-

ABP(现代ASP.NET样板开发框架)系列之11、ABP领域层——仓储(Repositories)

点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由台湾-小张提供翻译 仓储定义:“在领域层和数据映射层的中

通过Maven配置测试环境和开发环境连接不同的数据库

通过Maven配置测试环境和开发环境连接不同的数据库 作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com 摘要: 通过Maven配置测试环境和开发环境连接不同的数据库 "通过Maven配置测试环境和开发环境连接不同的数据库":关键词:通过 maven 配置 测试 环境 开发 环境 连接 不同 其他数据库 通过maven配置测试环境和开发环境连接不同的其他数据库 操作上分3个步骤 1.在数据持久层的po

详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. 操作数据库 7. 关闭连接 代码如下: ******************连接数据库******************* 1 package zj6_Test; 2 import java.sql.*; 3 public class Zj6_3 { 4 /** 5 * 使用Statement接口

ThinkPHP连接sql server数据库

原文:ThinkPHP连接sql server数据库 亲身经历,在网上找连接sql server数据库的方法,还是不好找的,大多数都是照抄一个人的,而这个人的又写的不全,呵呵,先介绍一下我连接的方法吧.如果你是用THINKPHP连接,那么最重要的就是配置问题. 我的PHP版本是5.3,就说5.3的方法吧 1.首先要下载 php_pdo_sqlsrv_53_ts_vc9.dll php_sqlsrv_53_ts_vc9.dll 下载地址:http://share.weiyun.com/dc589f

VS2010 VS2012 如何连接Oracle 11g数据库

VS2010 VS2012 如何连接Oracle 11g数据库 http://jingyan.baidu.com/article/1876c852b9049d890b137622.html

django配置连接多个数据库,自定义表名称

在项目tt下新建两个app,分别为app01.app02.配置app01使用default节点数据库:app02使用hvdb节点数据库(也可以配置app01下的model既使用default,也可以使用hvdb数据库) 1.编辑settings.py,添加多个数据库: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testly', 'USER': 'root', 'PASSWORD': '123

(笔记)Mysql命令select:当前选择(连接)的数据库

select命令表示当前选择(连接)的数据库. select命令格式:mysql> select database(); MySQL中SELECT命令类似于其他编程语言里的print或者write,你可以用它来显示一个字符串.数字.数学表达式的结果等等.如何使用MySQL中SELECT命令的特殊功能呢? 1) 显示MYSQL的版本mysql> select version(); +-----------------------+ | version()               | +---

VS2013 MFC ODBC连接SQL SERVER数据库编程(三)

VS2013 MFC ODBC连接SQL SERVER数据库编程(三) 转载请注明:http://blog.csdn.net/my_acm/article/category/2616577 继上一篇讲完对数据库的链接以及一些说明之后,本文将实现对数据库的增删查改等操作. 如上图所示就是最终完成的一个简单的小程序. 首先添加列表框的NM_CLICK响应程序.鼠标放在列表框上,右键->添加事件处理程序,找到MN_CLICK消息,添加并编辑,如下图所示. 在响应函数里面添加如下代码: 这样就实现了,点