在用惯了Asp.Net Core提供的基架后,反过来想一想,貌似忘记了控制台如何去连接数据库了,因此,写一篇文章来借此巩固下并以后再来回顾时,加快步骤。

1、新建一个.Net Core控制台,然后安装Nuget包

Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Design
Pomelo.EntityFrameworkCore.MySql
Microsoft.Extensions.Configuration.Json

2、添加一个文件夹Models,并增加一个实体类Company,增加该实体类一系列属性

namespace FastConnect.Tool.Models
{/// <summary>/// 公司信息/// </summary>public class Company{/// <summary>/// Id/// </summary>public int Id { get; set; }/// <summary>/// 公司名称/// </summary>public string Name { get; set; }/// <summary>/// 公司地址/// </summary>public string Address { get; set; }}
}

3、再增加一个配置文件appsettings.json,按照数据库具体配置去弄,比如接口,用户名密码等,并且本次想用的数据库名。需右键设置该文件的输出方式为始终复制。

{"ConnectionStrings": {"Default": "Server=xxx;Database=fastconnectdb;Port=10143;charset=utf8;uid=tester;pwd=xxx@yy;"}
}

4、增加DbContext,并继承DbContext,该父类在EFCore中,将之前建立的类加入到该DbContext中,配置这个数据库上下文需要的连接字符串,通过配置类去读取第二步骤中的配置项文件,在OnConfiguring中使用UseMysql,该方法在Pomelo的dll中并读取其中的默认连接字符串节点。

using FastConnect.Tool.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using System.IO;namespace FastConnect.Tool
{public class FastConnectDbContext : DbContext{public DbSet<Company> Companys { get; set; }private IConfiguration configuration;public FastConnectDbContext(){configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json").Build();}protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseMySql(configuration.GetConnectionString("Default"));}}
}

5、在程序包管理器控制台中选择该项目,必须要选择DbContext所在项目,本次DbContext所在项目为控制台本部。

并键入如下两行,如无错误,则数据库已经生成,可以查看项目文件夹中,将会多出一个文件夹和若干文件,这是记录迁移信息的。

add-migration InitDataBase
update-database

查看数据库中,已经生成了两张表,第一张是由EFCore维护的迁移记录表,第二张是我们所建立的实体表

6、在Program.cs文件中加入一点对数据库的操作,通过using来管理数据库的连接,这种方式较为便捷,当然也可以使用其它方式来管理。

    class Program{static void Main(string[] args){using (var dbContext = new FastConnectDbContext()){dbContext.Companys.Add(new Company{Name = "星城科技",Address = "湖南长沙雨花区"});dbContext.SaveChanges();Console.WriteLine("All Company in database:");foreach (var company in dbContext.Companys){Console.WriteLine("{0}-{1}", company.Name, company.Address);}Console.ReadKey();}}}

7、设置当前项目为启动项目,启动查看运行效果,数据加入到数据库中,并从数据库中再次读取出来:

8、最终控制台项目结构

仓库地址:https://gitee.com/530521314/Partner.TreasureChest.git

2019-12-06,望技术有成后能回来看见自己的脚步

.Net Core控制台amp;EFCore连接Mysql相关推荐

  1. .net core WebAPI 初探及连接MySQL

    .net core WebAPI 初探及连接MySQL 1. 前言 笔者最近跟着微软官方文档学习.net core WebAPI,但发现其对 WebAPI 连接数据库.读取数据库方面讲得不够细致明了. ...

  2. t4模板 mysql_.net core 用T4模板连接MySql生成实体类

    .net core 用T4模板连接MySql生成实体类标题 4,把MySql.Data.dll放在项目根目录,也可以自行更改. 在之前参考那个博友的文章,他的是连接SQL server的. 下面是参考 ...

  3. ef mysql dbfirst_.NetCore教程之 EFCore连接Mysql DBFirst模式

    一:创建ef的类库,同时将此项目设置为启动项(为scaffold-dbcontext -tables指令使用),同时安装2个包 ①microsoft.entityframeworkcore.tools ...

  4. ASP .NET Core使用connection string连接MySQL/MariaDB,并设置UTF-8编码

    具体的使用文章参考我的这篇博客:ASP .NET Core Web 系列教程四:使用数据库进行交互(MySQL/MariaDB 版) 我这里介绍一下设置UTF-8的编码的Connection Stri ...

  5. 记一次EF Core连接MySql、Oracle

    点击上方"Dotnet9"添加关注哦 上上个月写的一篇文章,今天有同事问我使用EF Core连接MySql和Oracel的问题,我把这篇文章直接甩给了他. 下面是正文: 这几天研究 ...

  6. 0配置EF连接MySql数据库_第八节:EF Core连接MySql数据库

    一. 前提 1.安装EF Core连接MySQL的驱动,这里有两类: (1).Oracle官方出品:MySql.Data.EntityFrameworkCore (版本:8.0.17) (2).其他第 ...

  7. Asp.net Core 6.0 使用EF DB First 连接mysql

    asp.net core 6.0 使用EF Core 6.0 连接mysql,实现db first 使用的开发环境是vs 2022 首先建立项目,web api 项目 为VS2022安装扩展 此时在项 ...

  8. ASP.NET Core Web项目连接MySQL数据库

    作者在新建了一个ASP.NET Core Web项目的基础上,想连接本地的Mysql数据库,参考了很多博客,各种各样的说法都有,多少让人有感凌乱!自己最后捣鼓成功了!所以写一篇博客,以便后人查阅! 操 ...

  9. Django连接MySQL数据库错误:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module

    Django项目里已经添加了PyMySQL,数据库的配置也修改好了,但是连接MySQL,却显示找不到MySQL,如图: 连接数据库的设置如下: DATABASES = {'default': {'EN ...

最新文章

  1. shell脚本自动记录登陆后 的IP地址和历史记录
  2. 使用CSS对页面加载的淡入效果
  3. python语法手册-python语法手册
  4. 移动端https抓包那些事--进阶篇
  5. 解决Too many open files问题
  6. MyEclipse 启动之 java.lang.RuntimeException: No application id has been
  7. 首次击败美国!2019《财富》世界500强公布:129家中国公司上榜
  8. ASP.NET+MVC自学材料
  9. mac php5.6 gd 扩展,mac 编译安装php5.6.40
  10. clr错误 8004005程序将立即终止_微软公开发布更多Surface驱动程序 固件支持终止日期...
  11. Jmeter 2.6下载安装
  12. HTML元素定义 ID,Class,Style的优先级
  13. 使用 ExMerge.exe 工具从邮箱中删除感染病毒的邮件
  14. 重写需要注意哪些方面?
  15. 局域网电脑屏幕桌面监控怎么样
  16. pytorch(8)-- resnet101 迁移学习记录
  17. LabVIEW编程LabVIEW开发 施耐德
  18. 如何将word文档生成二维码
  19. C#实现qq邮箱发送邮件(验证码)
  20. POI锁定单元格的问题

热门文章

  1. Python深入-Python的内存管理
  2. ubuntu 14.04.03 LTS(64bit) 安装PyCharm
  3. 《剑指Offer》 从上往下打印出二叉树
  4. 【AI视野·今日NLP 自然语言处理论文速览 第一期】Fri, 4 Jun 2021
  5. 【今日CV 视觉论文速览】26 Nov 2018
  6. 【C++基础学习】二维数组的动态分配及参数传递
  7. 认识线程 java 1615387415
  8. 排序算法 快速排序 python 0913
  9. redis-哈希数据类型
  10. linux-实时查看mysql中的日志文件