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

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

项目采用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类型的,所以需要修改Article的定义,直接继承Entity<Guid>

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

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

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Proj ...

  2. ABP理论学习之仓储

    返回总目录 本篇目录 IRepository接口 查询 插入 更新 删除 其他 关于异步方法 仓储实现 管理数据库连接 仓储的生命周期 仓储最佳实践 Martin Fowler对仓储的定义 位于领域层 ...

  3. ABP领域层——仓储(Repositories)

    ABP领域层——仓储(Repositories) 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是 ...

  4. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  5. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  6. CI连接多个数据库

    参考http://codeigniter.org.cn/user_guide/database/connecting.html手册 首先,在database.php中设置多个数据库的连接信息,这里命名 ...

  7. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  8. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

  9. 通过MSSQL连接服务器连接至Oracle数据库

    前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...

随机推荐

  1. S3C2440 SPI驱动框架

    S3C2440 SPI驱动代码详细解读: https://www.linuxidc.com/Linux/2012-08/68402p4.htm 一.platform device and board_ ...

  2. Java 泛型分析

    Java 泛型 Java Generics 是 JDK 1.5 引入的新特性,它提供了编译时的类型安全检测机制,避免了代码中进行显示的类型转换(cast),是对类型系统的一种增强. Java Gene ...

  3. Unity Shader入门精要读书笔记(二)UnityShader概述

    第三章<UnityShader概述>的读书笔记: 1.Unity Shader模板提供了几种选择: 标准光照模型(新添加的基于物理的渲染方法) 不含光照的基本的顶点.片元着色器 屏幕后处理 ...

  4. 路边拾遗之其他模块(struct/csv/xlwt/smtp)

    struct模块 最近在学习python网络编程这一块,在写简单的socket通信代码时,遇到了struct这个模块的使用,当时不太清楚这到底有和作用,后来查阅了相关资料大概了解了,在这里做一下简单的 ...

  5. 用yum下载rpm包(不安装)到指定目录

    用yum下载rpm包(不安装)到制定目录    用yum下载rpm包   1.安装yum-downloadonly   # yum install yum-downloadonly -y     2. ...

  6. fgets、gets和scanf的区别

    gets()从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中.换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字 ...

  7. Ubuntu下&nbsp;Nfs服务器安装

    Ubuntu Nfs服务器安装 nfs服务器在嵌入式开发中非常常用,可以实现主机和开发板共享文件.     1.安装软件包     sudo apt-get install nfs-common nf ...

  8. xcode添加build phase

    [xcode添加build phase] xcode版本:5.0.2,找了半天,终于找到add build phase的方法,如下图.

  9. copyWithZone详解

    [copyWithZone详解] NSObject实现了-copy.+copy.+copyWithZone方法.代码如下: + (id)copy { return (id)self; } + (id) ...

  10. 【bzoj2818】Gcd

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4344  Solved: 1912[Submit][Status][Discuss ...