ASP.NET Core 使用 EF Core
Posted Lzysnd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET Core 使用 EF Core相关的知识,希望对你有一定的参考价值。
一、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 删除上一次的迁移(版本)
接着就可以在控制器中写自己要实现的接口了
以上是关于ASP.NET Core 使用 EF Core的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 EF Core 在 ASP.NET Core 中取消应用迁移