一、NuGet安装EF Core支持的程序包,使用sql server 数据库
右键单击“项目” > “管理NuGet程序包” 查找安装
sql server:
Microsoft.EntityFrameworkCore.SqlServer:Sql Server数据库EF提供程序
Microsoft.EntityFrameworkCore.Design:设计时使用到的EF共享库
Microsoft.EntityFrameworkCore.Tools:EF的NuGet包管理器命令工具
Mysql需要安装:
MySql.Data.EntityFrameworkCore -Pre
Pomelo.EntityFrameworkCore.MySql
Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design
二、创建实体类
public class User
{
/// <summary>
/// 用户ID
/// </summary>
[Description("用户ID")]
[Key]
public int id { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Description("用户名")]
public string name { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Description("用户密码")]
public int password { get; set; }
}
三、创建数据库上下文(MyDBContext)
public class MyDBContext : DbContext
{
public MyDBContext() { }
public MyDBContext(DbContextOptions<MyDBContext> options) : base(options)
{
//用户类
public virtual DbSet<User> User { get; set; }
}
四、appsettings.json配置数据库连接字符串
(不是密码)
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
//连接字符串
"ConnectionStrings": {
"SqlServer": "Data Source=.;Initial Catalog=DormitoryDB;Integrated Security=True"
}
}
(sa密码)
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
//连接字符串
"ConnectionStrings": {
"SqlServer": "server=localhost;database=数据库名;uid=管理员账户;pwd=密码;CharSet=utf8"
}
}
五、注册上下文对象依赖注入服务,连接数据库
在Startup.cs中ConfigureServices方法中注册数据库上下文
public void ConfigureServices(IServiceCollection services)
{
#region 数据库上下文注册
//注册上下文对象
services.AddDbContext<MyDBContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("SqlServer"));
//options.EnableSensitiveDataLogging();
});
#endregion
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "SystemAPi", Version = "v1" });
});
}
在数据库上下文中添加连接数据库字符串
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder.SqlServer(@"Server=.Database=数据库名字;Integrated Security=True");
}
六、生成数据库。使用NuGet包管理命令来生成数据库和表
打开Visual Studio的“工具”> “NuGet包管理器”>“程序包管理控制台”
输入以下命令:
Add-Migration 迁移名称(版本名称)
Update-Database 迁移名称(版本名称) 然后数据库生成成功
使用remove-Migration 删除上一次的迁移(版本)
remove-Migration 删除上一次的迁移(版本)
接着就可以在控制器中写自己要实现的接口了