一、新建一个Asp.Net Core WebMVC程序

添加nuget包  Mysql.Data

二、新建一个UserContext类

下面代码中的UserInfo是我自己建的一个实体,里面有俩字段:host和name.数据类型都是string

MysqlConnection 和MysqlCommand在MySql.Data.MySqlClient命名空间下;

 public class UserContext
{
public string ConnectionString { get; set; } //实例化时获得MYSQLl链接字符串
public UserContext(string connectionString)
{
this.ConnectionString = connectionString;
} /// <summary>
/// MySqlConnection 是ADO.NET中Connection对象的Mysql版本
/// 这里是通过读取appsetting.json中的链接字符串打开一个mysql的链接
/// </summary>
/// <returns></returns>
private MySqlConnection GetConnection()
{ return new MySqlConnection(ConnectionString);
} public List<UserInfo> GetAllUser()
{
List<UserInfo> list = new List<UserInfo>();
///通过connection对象打开一个链接管道
using (MySqlConnection connection = GetConnection())
{
//打开管道
connection.Open();
//MySqlCommand是ADO.NET Command对象的mysql版本,这里是声明一个操作对象来执行SQL
MySqlCommand comand = new MySqlCommand("select host,user from mysql.user", connection);
//使用Reader对象对上面SQL执行的返回结果进行读取
using (MySqlDataReader reader = comand.ExecuteReader())
{
while (reader.Read())
{
list.Add(new UserInfo { Host = reader.GetString("host") });
}
}
}
return list;
} }

三、在StartUp.cs中注入UserContext

Dev是一个我在appsetting.json配置文件中的一个节点,下面会写。

用Configuration.GetConnectionString会自动读取配置文件的ConnectionStrings节点

 services.Add(new ServiceDescriptor(typeof(UserContext), new UserContext(Configuration.GetConnectionString("Dev"))));

  

四、在配置文件中插入链接字符串

五、启动程序

在HomeController中获取一下上面写的数据

通过上面写的sql我们可以拿到数据库中所有的用户信息

欢迎指正

Asp.Net Core链接Mysql数据库的更多相关文章

  1. ASP.NET Core使用EF Core操作MySql数据库

    ASP.NET Core操作MySql数据库, 这样整套环境都可以布署在Linux上 使用微软的 Microsoft.EntityFrameworkCore(2.1.4) 和MySql出的 MySql ...

  2. Visual Studio Code和Docker开发asp.net core和mysql应用

    Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...

  3. ASP.NET Core Identity自定义数据库结构和完全使用Dapper而非EntityFramework Core

    前言 原本本节内容是不存在的,出于有几个人问到了我:我想使用ASP.NET Core Identity,但是我又不想使用默认生成的数据库表,想自定义一套,我想要使用ASP.NE Core Identi ...

  4. Python学习笔记9-Python 链接MySql数据库

    Python 链接MySql数据库,方法很简单: 首先需要先 安装一个MySql链接插件:MySQL-python-1.2.3.win-amd64-py2.7.exe 下载地址:http://dev. ...

  5. Tomcat通过JNDI方式链接MySql数据库

    原文:Tomcat通过JNDI方式链接MySql数据库 拷贝MySQL的JDBC驱动到Tomcat的lib路径下 配置全局数据源或者单个Web应用的局部数据源 局部数据源 在Tomcat的conf/C ...

  6. C# 链接MySql数据库

    C# 链接MySql数据库只得注意的几点: 1.C#链接MySql数据库要在网上下载一个mysql-connector-net-6.0.4-noinstall.rar  这里面放的都是一堆dll .将 ...

  7. 写给小白的JAVA链接MySQL数据库的步骤(JDBC):

    作为复习总结的笔记,我罗列了几个jdbc步骤,后边举个简单的例子,其中的try块请读者自行处理. /* * 1.下载驱动包:com.mysql.jdbc.Driver;网上很多下载资源,自己找度娘,此 ...

  8. Java链接MySQL数据库的用配置文件和不用配置文件的代码

    1.利用配置文件(db.properties)链接MySQL数据库 package tool; import java.io.FileInputStream;import java.sql.Conne ...

  9. SQLServer 远程链接MySql数据库详解

    SQLServer 远程链接MySql数据库详解 by:授客 QQ:1033553122 测试环境: Microsoft Windows XP Professional 版本2000 Service ...

随机推荐

  1. delphi 获取可执行文件的当前路径

    在Delphi SysUtils 单元中有 ExtractFileDir 与 ExtractFilePath两个类似的函数, 两个函数有以下的区别: ExtractFilePath 传回值的最後一个字 ...

  2. PHP 多图片上传实例demo

    upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  3. Timeout occurred while waiting for latch: class 'COLUMNSTORE_ROWGROUP_COLLECTION'

    今天发现线上数据库主从延迟严重: SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server, dr_state.da ...

  4. mysql中通过my.cnf设置默认字符集utf-8

    选项配置 配置文件路径:/full/path/mysql/bin/my.cnf (默认为/etc/my.cnf ) [client] default-character-set=utf8 [mysql ...

  5. QTimer掉坑出坑过程

    最近遇到一个问题,就是关于QTimer设置了10ms,结果不生效,很头疼啊,查了快一天了,终于知道为什么了? 先说下QTimer的使用方法: m_delayHideTimer这是QTimer的对象. ...

  6. SVD singular value decomposition

    SVD singular value decomposition https://en.wikipedia.org/wiki/Singular_value_decomposition 奇异值分解在统计 ...

  7. tp 查询数据库时报错 A non well formed numeric value encountered

    在database.php中配置或修改 'datetime_format' => false,

  8. 使用Vue-cli脚手架

    使用vue-cli脚手架开发vue项目,有以下好处: (1)成熟的Vue项目架构设计. (2)本地测试服务器(热更新). (3)集成打包上线方案. Vue-cli系统要求: Node.js(>= ...

  9. jemter 使用if控制器,选择需要的内容

    背景:需要根据人员传入的变量,来选择运行的环境,调用不同的参数,进行拼接,使用到if控制器 取到的数据,调用的就是test1的数据

  10. luogu P2617 Dynamic Rankings(分块,n <= 1e4)

    嘟嘟嘟 带修改区间第k大. 然而某谷把数据扩大到了1e5,所以用分块现在只能得50分. 分块怎么做呢?很暴力的. 基本思想还是块内有序,块外暴力统计. 对于修改,直接重排修改的数所在块,时间复杂度O( ...