EF Core数据库反向生成上下文类以及EF Core使用

1、使用NuGet包管理器下载Microsoft.EntityFrameworkCore相关包
因为.NET Core中默认不包含EF Core的工具和程序包,需要通过NuGet管理器安装对应工具和程序包。这里使用Sql Server数据库,因此将安装以下程序包:

  • Microsoft.EntityFrameworkCore.SqlServer:Sql Server数据库EF提供程序
  • Microsoft.EntityFrameworkCore.Design:设计时EF共享库
  • Microsoft.EntityFrameworkCore.Tools:EF的NuGet包管理器命令工具

2、在NuGet包管理器控制台中执行从数据库生成模型类的命令:
命令格式:

Scaffold-DbContext ‘连接字符串’ 数据提供程序名称 -OutputDir 结果输出文件夹 -Context 数据上下文名 –DataAnnotations

例如:

Scaffold-DbContext  'Data Source=.\SQL2017;Initial Catalog=ShoppingDB; Integrated Security=True;' Microsoft.EntityFrameworkCore.SqlServer  -OutputDir Models  -Context ShopContext

3、修改Startup类文件,注册DBContext依赖服务。
(a)导入命名空间

using Microsoft.EntityFrameworkCore;

(b)在ConfigureServices()方法中注册

 //注册上下文对象
services.AddDbContext<ShopContext>(options =>
{
	options.UseSqlServer(Configuration.GetConnectionString("ShopDB"));
});

4、在控制器的构造方法中,获取注入的数据上下文对象

public class HomeController : Controller
{
	private ShopContext context;

	public HomeController(ShopContext db)
	{
	
		context = db;
	}
}

5) 在控制器的Action方法中,执行数据库操作。

public IActionResult Index()
{
	var prodList = context.Products.Include("Category").ToList();
	return View(prodList);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值