EFCore使用MySQL
EFCore使用SQL Server应该是鼻祖了吧,哈哈!不过使用MySQL的就比较少见了,至少官网是没有引导的。因为是MySQL微软的东西嘛,当然推崇SQL Server了;不过MySQL相对SQL Server更为轻量一些,我们就来简单整理下吧!Model层NuGet包如下:1、Microsoft.EntityFrameworkCore.Design2、Microsoft.EntityFram
EFCore使用SQL Server应该是鼻祖了吧,哈哈!不过使用MySQL的就比较少见了,至少官网是没有引导的。因为不是MySQL微软的东西嘛,当然推崇SQL Server了;不过MySQL相对SQL Server更为轻量一些,我们就来简单整理下吧!Model层NuGet包如下:
1、Microsoft.EntityFrameworkCore.Design
2、Microsoft.EntityFrameworkCore.Tools
3、MySql.EntityFrameworkCore
4、Microsoft.EntityFrameworkCore
5、Microsoft.EntityFrameworkCore.Relational
对了,MySQL还可以安装连接Visual Studio和.NET的组件,需要注意的是,目前直连Visual Studio的版本仅支持到Visual Studio 2017,Visual Studio 2019暂时还没有相关的组件,不过并不影响使用。
编写SysContext
public class SysContext : DbContext
{
public SysContext(DbContextOptions<SysContext> options)
: base(options)
{
}
public DbSet<Student> Student { get; set; }
}
编写一个实体类,做一下简单Code First验证:
public class Student
{
[Key]
public string Id { get; set; }
public string Name { get; set; }
public string Number { get; set; }
public string Address { get; set; }
}
同样,Web层也NuGet相同的包!在Startup.cs进行注入:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<SysContext>(options=>
{
options.UseMySQL(Configuration.GetConnectionString("DefaultConnection"));
});
services.AddControllersWithViews();
}
配置appsettings.json链接字符串:
"ConnectionStrings": {
"DefaultConnection": "server=localhost;database=test;uid=root;pwd=2239Yang;"
},
做一下,数据迁移
Add-Migration A
Update-Database
这时候打开客户端MySQL,可以看到通过自定义实体,已成功创建相应的表!
编写一个Controller简单测试下吧!
public class HomeController : Controller
{
public async Task<IActionResult> Index()
{
var config = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json",true,true)
.AddInMemoryCollection()
.Build();
var connStr = config["ConnectionStrings:DefaultConnection"];
DbContextOptions<SysContext> options = new DbContextOptionsBuilder<SysContext>().UseMySQL(connStr).Options;
SysContext db = new SysContext(options);
var s1 = new Student()
{
Id=Guid.NewGuid().ToString(),
Name="Stu1",
Number="Stu_No1",
Address="BeiJing"
};
db.Student.Add(s1);
var s2 = new Student()
{
Id = Guid.NewGuid().ToString(),
Name = "Stu2",
Number = "Stu_No2",
Address = "BeiJing"
};
db.Student.Add(s2);
await db.SaveChangesAsync();
return Json(db.Student.ToList());
}
}
执行成功!
更多推荐
所有评论(0)