第一步:首先添加EF Core 支持程序包

即 Microsoft.EntityFrameworkCore.SqlServer 、

Microsoft.EntityFrameworkCore.Design、

Microsoft.EntityFrameworkCore.Tools 三个程序包

使用EF Core生成数据库_联合查询


使用EF Core生成数据库_联合查询_02


二、程序包 管理器控制台输入数据库连接的命令

使用EF Core生成数据库_联合查询_03

在 FM>输入

Scaffold-DbContext 
'Data Source=.;Initial Catalog=FreshLiveDB;User ID=sa,Pwd=12345;'
Microsoft.EntityFrameworkCore.SqlServer
-OutputDir Models -Context FreshLiveDBContext


生成成功

使用EF Core生成数据库_联合查询_04


三、视图界面显示

使用EF Core生成数据库_linq_05

控制器代码:

public class FirstController : Controller
{
FreshLiveDBContext db = new FreshLiveDBContext();
public IActionResult Index()
{
ViewBag.Lists = from p in db.Product
join c in db.ProductClass on p.ClassId equals c.ClassId
select new NewViewModel
{
ClassId = c.ClassId,
ClassName = c.ClassName,
ProductId = p.ProductId,
ProductName = p.ProductName,
ProductPic = p.ProductPic,
ProductPrice = p.ProductPrice,
ProductDesc = p.ProductDesc,
AddTime = p.AddTime
};

return View();
}
}

视图代码:


<div class="container">
<div style="margin:30px auto;">
<table class="table table-hover table-condensed">
<tr>
<th>编号</th>
<th>名称</th>
<th>图片</th>
<th>价格</th>
<th>描述</th>
<th style="width:150px;">分类</th>
<th style="width:120px;">创建时间</th>
<th style="width:50px;">操作</th>
</tr>
@foreach (var item in ViewBag.Lists)
{
<tr>
<td>@item.ProductId</td>
<td>@item.ProductName</td>
<td>@item.ProductPic</td>
<td>@item.ProductPrice.ToString("C2")</td>
<td>@item.ProductDesc</td>
<td>@item.ClassName</td>
<td>@item.AddTime.ToString("D")</td>
<td><a href="/First/Del?@item.ProductId">删除</a></td>
</tr>
}
</table>
</div>
</div>