EF Core的基本使用
第一步:建好项目后通过 NuGet 安装所需依赖项:
(1)Microsoft.EntityFrameworkCore —>核心包,不多说
(2)Microsoft.EntityFrameworkCore.Design —>Code First 必备包
(3)Microsoft.EntityFrameworkCore.SqlServer —>Sql Server 驱动
(4)Microsoft.EntityFrameworkCore.SqlServer.Design —>数据库提供程序设计时包(非必须)
(5)Microsoft.EntityFrameworkCore.Tools —>支持 PS 命令的 Code First 工具包
可以右键项目通过管理NuGet程序包的方式安装,也可以通过命令安装(找到VS工具栏 —> NuGet 包管理器 —> 程序包管理控制台):
注意选择默认项目,别装错地方了
Install-package Microsoft.EntityFrameworkCore
Install-package Microsoft.EntityFrameworkCore.Tools
Install-package Microsoft.EntityFrameworkCore.Design
Install-package Microsoft.EntityFrameworkCore.SqlServer
Install-package Microsoft.EntityFrameworkCore.SqlServer.Design
第二步:然后继续在程序包管理控制台再输入:
Scaffold-DbContext 'server=.;uid=sa;pwd=123456;database=shoppingDB' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context ShopContext
第三步:修改Startup类文件,注册DBContext依赖服务。
(a)导入命名空间
using Microsoft.EntityFrameworkCore;
(b)在ConfigureServices()方法中注册
//注册上下文对象
services.AddDbContext<ShopContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("shopConStr"));
});
第四步:在控制器的构造方法中,获取注入的数据上下文对象
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
}
第五步:在控制器的Action方法中,执行数据库操作。
public IActionResult Index()
{
// 创建服务器的信道
var channel = GrpcChannel.ForAddress("https://localhost:5001");
// 创建客户端
GrpcService1.Protos.ProductManager.ProductManagerClient client = new GrpcService1.Protos.ProductManager.ProductManagerClient(channel);
// 调用相应的方法
var list = client.GetProductList(new Google.Protobuf.WellKnownTypes.Empty());
// 模型传值
return View(list.Product.ToList());
}
第六步:视图中调用一些简单的数据
<div class="text-center">
@foreach (var item in Model)
{
<dl>
<dt>@item.ProductId</dt>
<dt>@item.ProductName</dt>
<dt>@item.ProductDesc</dt>
</dl>
}
</div>