Asp.Net Core链接Mysql数据库

一、新建一个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我们可以拿到数据库中所有的用户信息

 

 欢迎指正

posted @ 2018-11-21 17:25  Tassdar  阅读(3640)  评论(0编辑  收藏  举报