AspNetCore使用MySQL

既然NetCore开源,那么也使用开源的MySQL的数据库呢?当然NetCore不止单单配MSSQL数据库而已。今天我来讲解NetCore怎么使用MySQL进行开发。

首先新建一个NetCore项目

 

 

然后写两个类放在Model里面

public class Lexan
    {
        private LexanContext lexanContext;
        public string Name { get; set; }
        public int Sex { get; set; }
        public int Age { get; set; }
    }

 

 

public class LexanContext
    {
        public string ConnectionString { get; set; }
        public LexanContext(string connectionString)
        {
            ConnectionString = connectionString;
        }
        private MySqlConnection GetConnection()
        {
            return new MySqlConnection(ConnectionString);
        }
        public List<Lexan> GetLexan()
        {
            List<Lexan> list = new List<Lexan>();
            using (MySqlConnection connection=GetConnection())
            {
                connection.Open();
                MySqlCommand command = new MySqlCommand("select * from Lexan",connection);
                using (MySqlDataReader reader=command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        list.Add(new Lexan()
                        {
                            Name=reader.GetString("Name"),
                            Sex=reader.GetInt32("Sex"),
                            Age=reader.GetInt32("Age")
                        });
                    }
                }
            }
            return list;
        }
    }

 

 

 

 

然后在NuGet库里安装个插件才能完成连接MySQL

 

然后添加一个控制器

 public IActionResult Index()
        {
            LexanContext wordcontext = HttpContext.RequestServices.GetService(typeof(AspNetCoreUseMySQL.Model.LexanContext)) as LexanContext;
            return View(wordcontext.GetLexan());
            //return View();
        }

 

然后添加一个MVC 视图

 

然后添加如下代码,你也可以根据自己的情况稍作修改

 

@model IEnumerable<AspNetCoreUseMySQL.Model.Lexan>
@{
    ViewBag.Title = "Lexan";
}
<h1>Lexan</h1>
<table class="table">
    <tr>
        <th>名字</th>
        <th>性别</th>
        <th>年龄</th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>@Html.DisplayFor(modelitem => item.Name)</td>
            <td>@Html.DisplayFor(modelitem => item.Sex)</td>
            <td>@Html.DisplayFor(modelitem => item.Age)</td>
        </tr>
    }
</table>

 

然后修改Startup类,添加如下代码

 services.Add(new ServiceDescriptor(typeof(LexanContext), new LexanContext(Configuration.GetConnectionString("DefaultConnection"))));

 

然后往appsettings.json里写连接字符串,这里注意一下,每个人的密码都不一样,你也要稍作修改,不然会出现连接出错

我们来创建一个数据库,并创建表,然后往里面写一条数据

  create database AspNetCoreUseMySql;
  use AspNetCoreUseMySql; 
  show tables;
  create table Lexan (name varchar(20),sex char(1),Age char(5));
  describe Lexan;
  insert into Lexan values('Lexan','0','22');
  select * from Lexan;

 

全部工作完成了,我们来运行看看效果

 

最后博主在这里说一下,凡是本博主的博文,麻烦添加原文地址,谢谢!所有博客文章都来自Lexan的博客,你也可以关注博主的博文地址http://www.cnblogs.com/R00R/

posted @ 2017-07-10 11:59  Lexan  阅读(548)  评论(1编辑  收藏  举报