如何利用EF Core高效生成数据库模型?

2026-04-30 18:538阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计511个文字,预计阅读时间需要3分钟。

如何利用EF Core高效生成数据库模型?

第一步:首先添加EF Core支持程序包,包括Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design和Microsoft.EntityFrameworkCore.Tools三个程序包。然后,通过程序包管理器控制台输入数据库连接信息。

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

即 Microsoft.EntityFrameworkCore.SqlServer 、

Microsoft.EntityFrameworkCore.Design、

Microsoft.EntityFrameworkCore.Tools 三个程序包


如何利用EF Core高效生成数据库模型?


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

在 FM>输入

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


生成成功


三、视图界面显示

控制器代码:

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>

本文共计511个文字,预计阅读时间需要3分钟。

如何利用EF Core高效生成数据库模型?

第一步:首先添加EF Core支持程序包,包括Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design和Microsoft.EntityFrameworkCore.Tools三个程序包。然后,通过程序包管理器控制台输入数据库连接信息。

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

即 Microsoft.EntityFrameworkCore.SqlServer 、

Microsoft.EntityFrameworkCore.Design、

Microsoft.EntityFrameworkCore.Tools 三个程序包


如何利用EF Core高效生成数据库模型?


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

在 FM>输入

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


生成成功


三、视图界面显示

控制器代码:

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>