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、然后在运行我们的代码.得到结果如下:

.NET Core整理之配置EFCore的更多相关文章

  1. .net core web api + Autofac + EFCore 个人实践

    1.背景 去年时候,写过一篇<Vue2.0 + Element-UI + WebAPI实践:简易个人记账系统>,采用Asp.net Web API + Element-UI.当时主要是为了 ...

  2. 扒一扒.NET Core的环境配置提供程序

    很久之前,在玩Docker的时候顺便扒了扒,最近,终于下定决心花了些时间整理并成文,希望能够给大家一些帮助. 目录 .NET Core中的配置 ASP.NET Core中的配置 扒一扒环境变量提供程序 ...

  3. 运维开发笔记整理-URL配置

    运维开发笔记整理-URL配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.URL路由 对于高质量的Web应用来说,使用简洁,优雅的URL的路由是一个非常值得重视的细节.Dja ...

  4. .NET Core技术研究-配置读取

    升级ASP.NET Core后,配置的读取是第一个要明确的技术.原先的App.Config.Web.Config.自定义Config在ASP.NET Core中如何正常使用.有必要好好总结整理一下,相 ...

  5. MVC + EFCore 项目实战 - 数仓管理系统2- 搭建基本框架配置EFCore

    本次课程就正式进入开发部分. 首先我们先搭建项目框架,还是和之前渐进式风格保持一致,除必备组件外,尽量使用原生功能以方便大家理解. 开发工具:vs 2019 或以上 数据库:SQL SERVER 20 ...

  6. ASP.NET Core开发-如何配置Kestrel 网址Urls

    ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置. 今天给介绍全面的ASP.NET Core 配置 Urls,使用多种方式配置Urls. ...

  7. asp.net core 将配置文件配置迁移到数据库(一)

    asp.net core 将配置文件配置迁移到数据库(一) Intro asp.net core 配置默认是项目根目录下的 appsettings.json 文件,还有环境变量以及 command l ...

  8. asp.net core 系列 10 配置configuration (上)

    一.  ASP.NET Core 中的配置概述 ASP.NET Core 中的应用配置是基于键值对,由configuration 程序提供. configuration  将从各种配置源提供程序操作键 ...

  9. .Net core下的配置设置(二)——Option

    我在前面的文章.Net core下的配置设置(一)——Configuration中介绍了.net core下配置文件的读取方法,在.net core中,直接从Configuration对象中读取的并不 ...

随机推荐

  1. 20175324 《Java程序设计》第七周学习总结

    教材学习内容总结 常用实用类 String类 - 程序可以直接使用String类,但不能进行扩展,即String类不可以有子类 - 常用构造方法 - String(char a[])用一个字符数组a创 ...

  2. 关于Http协议,你必须要知道的

    转自:https://segmentfault.com/a/1190000016751071 引言 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用 ...

  3. js 阻止事件执行

    三种阻止事件执行的方式 event.preventDefault() event.stopPropagation() return false event.preventDefault() 阻止特定事 ...

  4. Python-字典与json的转换

    #json是字符串,只不过长得像字典 import json user_info='''{"niuhy":1234,"shanbl":44566}''' #js ...

  5. Samba部署共享服务

    在本地PC文件共享 Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享资源软件,实现了Windows和Linux系统间的文件共享 1.安装Samba服务程序    yum in ...

  6. [Swift]LeetCode316. 去除重复字母 | Remove Duplicate Letters

    Given a string which contains only lowercase letters, remove duplicate letters so that every letter ...

  7. [Swift]LeetCode637. 二叉树的层平均值 | Average of Levels in Binary Tree

    Given a non-empty binary tree, return the average value of the nodes on each level in the form of an ...

  8. [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island

    Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...

  9. 机器学习入门18 - 生产机器学习系统(Production ML Systems)

    除了实现机器学习算法之外,机器学习还包含许多其他内容.生产环境机器学习系统包含大量组件.无需自行构建所有内容,而是应该尽可能重复使用常规机器学习系统组件.通过了解机器学习系统的一些范例及其要求,可以明 ...

  10. JVM学习笔记:对象的创建

    第一步,类检测 1.当虚拟机遇到一条new指令时,首先判断new的对象是否能在运行时常量池中找到对应类的类名(书中原话:检查这个指令的参数能佛在常量池中定位到一个类的符号引用).如果没找到,应该就会抛 ...