在Windows下,相信大家分分钟都可以搞定。而初次接触.net core + mysql可能需要注意些细节。
首先打开vs2017新建一个asp.net core项目(选Web应用程序),
然后nuget 导入Microsoft.EntityFrameworkCore.Tools 1.1.1
和MySql.Data.EntityFrameworkCore 8.0.8-dmr
。
然后新建一个DbContext类
public class DataContext : DbContext { //【注意】连接字符串一定要加 sslmode=none string str = @"Data Source=;Database=;User ID=;Password=;pooling=true;CharSet=utf8;port=3306;sslmode=none"; protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseMySQL(str); //下面就可以添加要加入数据库的实体了 //public DbSet<Message> Messages { get; set; } }
到此为止,我们已经可以利用EF Core直接连接mysql进行增删改查操作了。
注意:需要导入命名空间using Microsoft.EntityFrameworkCore; using MySQL.Data.EntityFrameworkCore.Extensions;
当然。你会说,连接字符串不能硬编码到代码里面。我们也可以放配置文件。appsettings.json
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": { "SqlServerConnection": "Data Source=;Database=;User ID=;Password=;pooling=true;CharSet=utf8;port=3306;sslmode=none" }
}
然后把上面的硬编码注释掉。在Startup.cs
文件的ConfigureServices
方法添加
var connection = Configuration.GetConnectionString("SqlServerConnection");services.AddDbContext<DataContext>(options => options.UseMySQL(connection));