一、环境
win10,vs2017,netcore2.0,sqlserver 2012
二、数据库
数据库名称 test
建表代码:
CREATE TABLE users
(Id int IDENTITY (1,1) PRIMARY KEY,
UserName varchar(50),
Password varchar(50)
)
go
三、新建一个.NET Core2.0的MVC项目
四、使用Nuget添加依赖
install-package microsoft.entityframeworkcore.sqlserver
install-package microsoft.entityframeworkcore.tools
install-package microsoft.entityframeworkcore.sqlserver.design
install-package microsoft.visualstudio.web.codegeneration.design
安装成功后就可以在Nuget依赖项中看到:
五、根据命令从数据库生成model
使用以下命令生成model
PM> Scaffold-DbContext "Server=localhost;Database=test;UID=sa;PWD=sapwd" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
添加成功后在models可以看到, 生成了上下文对象与和表对应的model
注意:这里直接生成的代码是将数据库连接直接写入"testContext.cs"文件中,编码时最好将数据库连接字符写入配置文件。
六、修改Startup.cs文件
在Startup.cs添加 using qgtest.Models;
并且在ConfigureServices方法中添加services.AddDbContext<testContext>();
七、添加Controller
在Controllers文件夹的右键快捷菜单中单击“添加”->“控制器”,新建一个空的MVC控制器类UserController,UserController代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using qgtest.Models;
namespace qgtest.Controllers
{
public class UserController : Controller
{
private testContext _context;
public UserController(testContext context)
{
_context = context;
}
//GET:/
/
public IActionResult Index()
{
return View(_context.Users.ToList());
}
public IActionResult Register()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Register(Users register)
{
if(ModelState.IsValid)
{
_context.Users.Add(register);
_context.SaveChanges();
return RedirectToAction("Index");
}
return View(register);
}
}
}
Index action表示显示所有用户,Register action表示注册用户,即把用户添加至用户表。
八、添加前端View
在views文件夹中添加一个User文件夹,然后添加一个Index视图,代码如下:
@model IEnumerable
@{
ViewBag.Title = "用户";
}
Index
ID 用户名 密码
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.Id) @Html.DisplayFor(modelItem => item.UserName) @Html.DisplayFor(modelItem => item.Password)
}
接着再添加一个Register视图,代码如下:
@model qgtest.Models.Users
@{
ViewBag.Title = "用户添加";
}
register
九、调试
点击或者按F5,让程序运行起来。显示页面如下:
在地址栏输入http://localhost:50957/user/register访问注册页面。
在注册页填入信息,注册成功后将跳转至http://localhost:50957/User。
显示结果如下图: