1.首先要有对应的context实体类,

多个实体类的构造函数的参数都应该是集合

 public class firstContext : DbContext
{
//多个数据库应该使用这个构造函数,参数是上下文的集合
public GalpOnlineContext(DbContextOptions<firstContext> options) : base(options)
{ } //自定义DbContext实体属性名与数据库表对应名称(默认 表名与属性名对应是 User与Users)
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().ToTable("user");
modelBuilder.Entity<Project>().ToTable("project");
//相关表名称的和类的对应
base.OnModelCreating(modelBuilder);
} public DbSet<User> User { get; set; }
//.... //第二种方法,重载父级的构造函数,和配置,这个只能是一个数据库时候的构造函数
/*
public firstContext(DbContextOptions options) : base(options)
{
// Using the default constructor
}*/ }
}

 2.在appsettings.json中进行配置数据库连接的信息

{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"firstContext": "Server=localhost;database=test;uid=root;pwd=123456;sslmode=none",
"secondContext": "Server=localhost;database=test2;uid=root;pwd=123456;sslmode=none"
},

 3.在startup.cs文件中注册数据库上下文的信息

  public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// options.CheckConsentNeeded = context => false;实现session,默认是true
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
}); //注册数据库的服务
string connectionString = Configuration.GetConnectionString("firstContext");
string connectionString2 = Configuration.GetConnectionString("secondContext"); services.AddDbContext<firstContext>(options => options.UseMySql(connectionString));
services.AddDbContext<secondContext>(options => options.UseMySql(connectionString2)); //注册session
services.AddDistributedMemoryCache();
services.AddSession(Options =>
{
Options.IdleTimeout = TimeSpan.FromSeconds(1000);
Options.Cookie.HttpOnly = true;
});
//services.AddMemoryCache();//使用本地缓存必须添加 //注册mvc服务
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }

  然后就可以了,在使用的地方引入上下文就可以了

 public class TestController : Controller
{
public readonly firstContext _context;
//构造函数,依赖注入数据库上下文就可以了
public TestController(firstContext context)
{
_context = context;
}
public ActionResult Index(string page)
{
List<Project> projects = _context.Project.ToList();
ViewBag.projects = projects;
return View();
}
}

asp.netCore连接多个数据库的更多相关文章

  1. asp.net 连接SQL Server 数据库并进行相关操作

    asp.net 连接数据库,操作数据库主要需要两个类,一个是SqlConnection,一个是SqlCommand SqlConnection用于连接数据库,打开数据库,关闭数据库. 连接数据库需要特 ...

  2. ASP.NET连接远程Oracle数据库,提示试图加载格式不正确的程序

    VS调试远程连接Oracle数据库,一直报错 由于本地计算机是64位的操作系统,而且也确定安装的Oracle客户端是64位的 ,但是一直提示这个错误. 试了很多方法,终于发现可能是 不能在VS中调试的 ...

  3. ASP.Net 连接多个数据库之间的切换

    本次两个的两个数据是SQL Server 和ORCAL 首先在Web.congfig中 <connectionStrings> </connectionStrings>里面添加 ...

  4. ASP.NET 连接MySQL数据库 详细步骤

    ASP.NET默认的数据库是MS SQL Server,微软的数据库产品.事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网 ...

  5. ASP.NET连接Oracle数据库的步骤详解(转)

    ASP.NET连接Oracle数据库的步骤详解   本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助.   在用ASP.NET开发应用程序时, ...

  6. ASP连接读写ACCESS数据库实例(转)

    (一)   数据库的选择:有许多的数据库你可以选择,SQL SERVER.ACCESS(*.mdb).EXCEL(*.xls).FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储 ...

  7. 目录---Asp.NETCore轻松学系列【目录】

    随笔分类 - Asp.NETCore轻松学系列 Asp.NETCore轻松学系列阅读指引目录 摘要: 耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进 ...

  8. 【目录】Asp.NETCore轻松学系列

    随笔分类 - Asp.NETCore轻松学系列 Asp.NETCore轻松学系列阅读指引目录 摘要: 耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进 ...

  9. Asp.NetCore Web开发之ADO.Net

     Asp.NetCore可以说是.Net平台开发网站的一大利器,最近的一大段时间,就要跟大家分享,如何使用这一利器开发网站项目. 要学习网站开发,首先要学习如何使用ADO.Net进行数据库数据的增删改 ...

随机推荐

  1. Oracle数据库01

    常用函数 COUNT(*):统计所有的数据量,没有过滤功能 COUNT(字段):统计出指定字段不为null的数据量,有过滤功能 COUNT(DISTINCT 字段):统计指定字段不为空并且去掉重复数据 ...

  2. 201621123023《Java程序设计》第9周学习总结

    一.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 二.书面作业 1. List中指定元素的删除(题集题目) 1.1 实验总结.并回答:列举至少2种在List中删除 ...

  3. 初识阿里开源诊断工具Arthas

    上个月,阿里开源了一个名为Arthas的监控工具.恰逢近期自己在写多线程处理业务,由此想到了一个问题. 如果在本机开发调试,IDE可以看到当前的活动线程,例如IntelliJ IDEA,线程是运行还是 ...

  4. Elasticsearch学习(5) Elasticsearch+logstash +filebeat+log4j的日志系统

    最近需要使用Elasticsearch做一个日志系统,本文只介绍log4j内容同步到Elasticsearch,至于日志的查询和分类,会在后面介绍. 一.配置并打开Elasticsearch 这个操作 ...

  5. 【Oracle 12c】最新CUUG OCP-071考试题库(57题)

    57.(14-17) choose two: Examine the structure of the DEPARTMENTS table You execute the following comm ...

  6. JavaScript多个h5播放器video,点击一个播放其他暂停

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. oracle常用cmd命令

    登陆 sqlplus username/password; 切换: conn username/password; 显示当前登陆用户: show user; 查看用户列表 select usernam ...

  8. Java网络编程以及简单的聊天程序

    网络编程技术是互联网技术中的主流编程技术之一,懂的一些基本的操作是非常必要的.这章主要讲解网络编程,UDP和Socket编程,以及使用Socket做一个简单的聊天软件. 全部代码下载:链接 1.网络编 ...

  9. 【原】[UIImage imageWithContentsOfFile:]引发的图片无法显示的问题

    最近在做一个iOS手机项目的时候,遇到一个奇怪的问题,这里跟大家分享一下. 一.问题重现 1.启动App后,通过http请求下载了一个1.jpg文件到Cache目录下,下载成功之后,将图片显示在界面上 ...

  10. SQL语句01

    SQL(Structured Query Language):结构化查询语言 SQL分类:    数据操纵语言DML(Data Manipulation Language)        SELECT ...