本教程使用vs2017 + dotnet core2.0 + MySql5.7.19

1.打开vs2017,文件》新建》项目,选择Asp.Net Core Web应用程序。

2.项目名称可以写Test,新建的模板选择.net core 2.0的Web应用程序。如下图:

3.在项目根目录下新建一个Models文件夹。

4.在Models文件夹下新建一个User类。

public class User
{
public int Id { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}

5.在Models文件夹下新建一个DataContext类。

//using Microsoft.EntityFrameworkCore;
public class DataContext:DbContext
{
public DataContext(DbContextOptions<DataContext> options):base(options)
{
}
public DbSet<User> Users { get; set; }
}

6.通过Nuget添加Pomelo.EntityFrameworkCore.MySql。

7.修改Startup.cs文件,用于Code First创建数据库。这里可以有两种方法,依次来说。

7.1直接将数据库连接字符串硬编码在Startup.cs文件中

//using Microsoft.EntityFrameworkCore;
//using Test.Models; public void ConfigureServices(IServiceCollection services)
{
var connection = @"Data Source=.;Database=Test;User ID=young;Password=young;pooling=true;CharSet=utf8;port=3306;sslmode=none";
services.AddDbContext<DataContext>(options => options.UseMySql(connection));
services.AddMvc();
}

7.2将数据库连接字符串放在配置文件中

在appsettings.json中添加节点,代码如下:

"ConnectionStrings": {
"MySqlConnection": "Data Source=.;Database=Test;User ID=young;Password=young;pooling=true;CharSet=utf8;port=3306;sslmode=none"
}

Startup.cs文件中的代码修改如下:

//using Microsoft.EntityFrameworkCore;
//using Test.Models; public void ConfigureServices(IServiceCollection services)
{
var connection = Configuration.GetConnectionString("MySqlConnection");
services.AddDbContext<DataContext>(options => options.UseMySql(connection));
services.AddMvc();
}

8.依次点开:工具》打开Nuget包管理器》程序包管理控制台。

首先输入Add-Migration MyFirstMigration执行;

接着输入Update-Database执行。出现Done表示成功创建数据库。

遇到的问题:

发现通过code first创建的数据库居然不支持插入中文?

后来才发现是mysql的配置问题(我是使用ubuntu+mysql)。在/etc/mysql/my.cnf中做如下修改,添加以下红框内的文字:

为了方便复制粘贴,代码就直接贴出来:

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

重启mysql,sudo service mysql restart即可。

对问题进一步升级——让数据库支持emoji表情

DotNet Core 2.0使用MySql实现Code First的更多相关文章

  1. .Net Core 3.0 WebAPI && MySQL 8.0搭建详情

    微软在2019年9月24日发布了dotNet Core 3.0和C# 8.0,添加了许多新Features,详情点我.无疑dotNet Core 3.0和一个月之后即将发布的dotNet Core 3 ...

  2. DotNet Core 1.0 集成 CentOS 开发与运行环境部署

    一.     DotNet Core 1.0 开发环境部署 操作系统安装 我们使用CentOS 7.2.1511版本. 安装libunwind库 执行:sudo yum install libunwi ...

  3. 北京时间28号0点以后Scott Hanselman同志台宣布dotnet core 1.0 rtm

    今日占住微信号头条的好消息<终于来了!微软.Net Core 1.0下载放出>.本人立马跑到官网http://dot.net看了一下,仍然是.net core 1.0 Preview 1版 ...

  4. centos 7 && dotnet core 2.0 && nginx && supervisor

    前提 系统:centos 7 目录:/home/wwwroot/www.wuball.com dotnet core 2.0 官方指引 sudo rpm --import https://packag ...

  5. dotnet core 3.0 linux 部署小贴士

    dotnet core 3.0 目前还是测试版,在linux下安装 sdk 需要有一些注意事项 1.下载url https://dotnet.microsoft.com/download/thank- ...

  6. ASP.NET Core 3.0 WebApi 系列【2】.Net Core 3.0+ CodeFirst + MySql 实现数据的迁移

    写在前面 在前一小节中,我们创建了基于RESFULL风格的服务.这个小节,尝试使用CodeFirst+MySql 的方式实现数据迁移. 一.开发环境 [1]运行环境:win10 家庭版 [2]开发工具 ...

  7. dotnet Core 2.0学习笔记(一)

    一:Dotnet Core Windows运行环境,标红部分要注意 https://docs.microsoft.com/en-us/dotnet/core/windows-prerequisites ...

  8. dotnet core 3.0 swagger 显示枚举描述

    上一篇net core 2.2 swagger的枚举描述,core 3.0 需要升级swagger到5.0rc版,配置需要做些修改,swaager启用了OpenApi标准,之前的枚举描述方法也失效了. ...

  9. dotnet core 2.0在ubuntu下安装失败

    在ubuntu下安装.net core2.0失败了,不知道是什么原因.按照微软官方的步骤.似乎走不通.偶然翻到debian的安装方法,发现debian系统居然是直接下载包安装的.没经过apt.尝试一把 ...

随机推荐

  1. asp.net 链接数据库ADO.NET

    web.config <configuration> <connectionStrings> <add name="constr" connectio ...

  2. .Net4.0并行库介绍——Cancellation Framework

    在.net 4.0中,引入了一个新的类CancellationToken,这个类基本上集成了我们各种常用的取消方式,在并发任务中非常有用. 同步模式下的取消: 一种比较常见的需要支持取消功能的的是一些 ...

  3. 安装完Framework后如何不重启系统?

    在.net平台下客户端部署时,如果客户端没有安装Framework时,部署程序安装Framework后,有一个要求重启选项,当然是非强制的.如果不想出现这个提示“重启”选项,可以做如下选择: 1.启动 ...

  4. 错误 1 error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use . See online help for details.

    出现这种警告的原因是因为我们没有使用安全的字符串处理函数.如果想屏蔽这种警告,可以使用: 还可以使用其它的方法,参考: https://www.cnblogs.com/gb2013/archive/2 ...

  5. OpenCV使用FLANN进行特征点匹配

    使用FLANN进行特征点匹配 目标 在本教程中我们将涉及以下内容: 使用 FlannBasedMatcher 接口以及函数 FLANN 实现快速高效匹配( 快速最近邻逼近搜索函数库(Fast Appr ...

  6. SpEL笔记

    SpEL使用示例 <bean id="chineseA" class="com.xxx.bean.Chinese" scope="prototy ...

  7. WCF项目中出现“目标程序集不包含服务类型”的解决办法

    如果创建新项目时(以下简称A项目)选择的是WCF相关的项目模板,并且在A项目中只定义接口而不实现接口,那么任何引用了A项目的项目,在调试时都会弹出警告框“目标程序集不包含服务类型.可能需要调整此程序集 ...

  8. AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)

    1.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C+ ...

  9. Symfony安装及使用

    安装Symfony,使用 brew install homebrew/php/symfony-installer 开始一直下载不了包,我手动浏览器下载了几个,发现好像都是Permission问题,运行 ...

  10. 在css加载完毕后执行后续代码

    最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui ...