.NET Core整理之配置EFCore

1、新建ASP.NET Core Web应用程序

2、从NuGet下载安装以下工具包

     Microsoft.EntityFrameworkCore

     Microsoft.EntityFrameworkCore.SqlServer

     Microsoft.EntityFrameworkCore.Tools

     Microsoft.EntityFrameworkCore.Design

     Microsoft.EntityFrameworkCore.SqlServer.Design

3、然后,我们在VS的工具选项中,选择NuGet包管理器,选择程序包管理控制台(其中Models2是输出文件夹)

Scaffold-DbContext "Server=.;database=test1;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

4、这里面就是你的上下文对象和相关的实体类了

 

5、注释上下文对象里的固化连接字符串

 

6、在配置文件里添加数据库连接字符串:

  "ConnectionStrings": { "SqlServer": "Server=.;database=test;Trusted_Connection=True;" },

7、然后我们在Startup中注入我们的上下文对象和获取数据库连接串

//注入上下文对象
services.AddDbContext<testContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("SqlServer")));

 

8、创建控制器,代码如下

public class FirstController : Controller
{
//构造函数注入上下文
private readonly testContext _context;
public FirstController(testContext Context)
{
_context = Context;
}

// GET: /<controller>/
public IActionResult Index(int? id)
{
base.ViewData["User1"] = new CurrentUser()
{
Id = _context.TestAutoid.Find(1).Autoid1,
Name = _context.TestAutoid.Find(1).Autoid2.ToString(),
Account = _context.TestAutoid.Find(1).Autoid3.ToString(),
Email = _context.TestAutoid.Find(1).Autoid4.ToString(),
Password = _context.TestAutoid.Find(1).Autoid5.ToString(),

};

base.ViewData["Something"] = 12345;

base.ViewBag.Name = "Eleven";
base.ViewBag.Description = "Teacher";
base.ViewBag.User = new CurrentUser()
{
Id = 7,
Name = "IOC",
Account = "限量版",
Email = "莲花未开时",
Password = "落单的候鸟",
LoginTime = DateTime.Now
};

base.TempData["User"] = new CurrentUser()
{
Id = 7,
Name = "CSS",
Account = "季雨林",
Email = "KOKE",
Password = "落单的候鸟",
LoginTime = DateTime.Now
};//后台可以跨action 基于session

if (id == null)
{
//return this.Redirect("~/First/TempDataPage");//未完待续
//return this.re
return this.Redirect("~/First/TempDataPage");
}

else
return View(new CurrentUser()
{
Id = 7,
Name = "一点半",
Account = "季雨林",
Email = "KOKE",
Password = "落单的候鸟",
LoginTime = DateTime.Now
});
}

}

9、创建相应的视图如下:

@model NetCore2._2.MVC6.Models.CurrentUser
@using NetCore2._2.MVC6.Models;

@{
ViewBag.Title = "Index";
CurrentUser userViewData = ViewData["User1"] as CurrentUser;//ViewData需要类型转换
CurrentUser userViewBag = ViewBag.User;//ViewBag直接用
CurrentUser userOther = ViewBag.User1;
}

<div class="row">
<div class="col-md-4">
<h2>Getting started</h2>
@base.Model.Name
<p>@(((CurrentUser)ViewData["User1"]).Name)</p>
<p>@userViewData.Name</p>
<p>@userViewBag.Account</p>
<p>@userOther.Name</p>
<p>@(((CurrentUser)ViewBag.User).Name)</p>
<p>@(((CurrentUser)TempData["User"]).Name)</p>
<p>@base.Model.Name</p>
</div>

</div>

10、然后在运行我们的代码.得到结果如下:

 

posted @ 2019-01-22 17:51  四方云动  阅读(642)  评论(0编辑  收藏  举报