ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 10. 使用EF Core
支持的数据库:可以查看官方网站
https://docs.microsoft.com/en-us/ef/core/providers/
安装了VS2017后会安装了LocalDB,验证localDB
在CMD输入:sqllocaldb
现实当前存在的实例
sqllocaldb info
使用VS也可以查看
appsettings.json配置数据库链接字符串
把localDB的链接字符串复制到这里
需要有一个类继承DBContext这个类,有一些属性DbSet,每一个DbSet和数据中的一个表对应
如果使用EFCore
默认按装了AspNetCore.App里面应该默认安装了EFCore这里搜一下
这里已经包含了这么多了,如果使用的是Sql server的默认基本就足够了
测试命令,dotnet ef。说明ef没问题
dotnet ef就是efCore的命令行工具
新建文件夹,并新建类DataContext
继承这个DbContext。命名空间在上面引入
prop可能是Resharper的快捷键,快速建立属性
Resharper自动生成的属性名,通常会加上s表示复数的形式
增加构造函数,配置链接到哪个数据库
ctor快捷键
把配置信息从构造函数传进来
options的配置信息传进来之后呢,要把它传给他的父类。然后这DataContext的功能才完整了。
父类会处理这些配置信息,连接适当的数据库
要使用这个DbContext,依赖注入的方式
它有个overload方法可以配置他的参数,写一个栏目大表达式,这个options有很多的方法,
这里使用的方法是志明数据库的类型
useSqlServer有个必填的参数就是数据库的链接字符串
需要回去appSetting.json里面的配置信息
startUp写个构造函数,可以注入一些服务
注入IConfiguration,
这里又用到了Resharper,添加一个field
这个Configuration是在什么时候注册完成的呢?是在这里的CreateDefaultBuilder方法里就已经注册好了,所以在StartUp里面可以使用这个服务
有层级关系,曾与层之间应冒号;
把链接字符串春进去就可以了
然后改一下数据库链接字符串的 数据库名称:
这个表示使用windows验证
另外一种获取链接字符串的方法GetConnectionString会去找ConnectionStrings下面的值
不用创建变量直接回去也是可以的
迁移
15分32秒
如果使用VS2017 就在包管理工具的窗体内
如果使用cli 就在cmd窗体
迁移命令
迁移如要涉及到这两个命令
执行迁移的命令
创建了Migrations文件夹,里面有两个文件,带事件戳的是迁移文件,SnapShot是快照文件,快照文件不要手动去改,迁移文件在有的情况下可以稍做改动
Updaste-Database -Verbose
-Verbose:查看执行的明细过程
表就创建好 了。一个是Students表,一个是数据迁移的表
HomeController对接口有依赖,对具体的实现类没有依赖
修改为读取数据库
新建类文件EFCoreRepository
注入DataContext
EF修改原来的代码
修改为EFCoreRepository
这里因为使用了DBContext,它不是线程安全的,AddSingleton肯定会发生线程的问题修改为Scoped模式
每次http请求,生成一个新的实例。每次Http请求,可以保证它是在一个线程里,或者叫做一个逻辑线程内
清理,没用的代码
app.Run的代码删掉
配置文件里清楚垃圾代码
运行程序报错
这里去掉
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 10. 使用EF Core的更多相关文章
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道 语雀: https://www.yuque.com/yuejiangliu/dotnet/ ...
- 张高兴的 Entity Framework Core 即学即用:(一)创建第一个 EF Core 应用
写在前面 Entity Framework Core (EF Core) 是 .NET 平台流行的对象关系映射(ORM)框架.虽然 .NET 平台中 ORM 框架有很多,比如 Dapper.NHibe ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 25. 过滤器
在MVC的请求管道 并不是 asp.net core的请求管道.所以说Filter是专用于MVC的 贯穿特性,横穿关注点.比如授权.日志 这里的Authorize其实就是一个Filter,主要用来授 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 02. Web Host 的默认配置
视频地址: https://www.bilibili.com/video/av38392956/?p=2 语雀 https://www.yuque.com/yuejiangliu/dotnet/ixt ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 12. Views 下
ASP.NET Core MVC 13. 安装前端库 Partial VIew 就是部分View,他没有自己的数据,数据来自图中白色的那块,它的数据需要传进去,第一个参数是View的名称,第二个参数就 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 04. 中间件
注册startup类可以配置我们web应用的启动逻辑,使用的就是UseStartUp方法,asp.net core就会实例化这个类 并调用startup类里面的两个方法ConfigureService ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 13. 安装前端库
前端库使用npm进行安装,需要先建立webpack.json文件 因为我们没有使用npm安装任何库,所以npm的文件夹是空的 这里是用于开发时构建时引用的库写在这里 这里用到bootStrap 开发时 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 27. CICD Azure DevOps
VSTS做持续集成 后来改名叫做Azure Deveps https://azure.microsoft.com/zh-cn/services/devops/ 这是中文的地址 创建一个项目 名称.描述 ...
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介
新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了.我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet ...
随机推荐
- 异常来自 HRESULT:0x800A01A8
Windows 10 Enterprise Microsoft Office 2013 – Excel Oracle BI Publisher Desktop 11.1.1.7 异常来自 HRESUL ...
- BUPT复试专题—科学计算器(2009)
题目描述 给你一个不带括号的表达式,这个表达式只包含加.减.乘.除,请求出这个表 达式的最后结果,最后结果一定是整数: 输入 一个数学表达式,只包括数字,数字保证是非负整数,以及五种运算符 " ...
- Youth is not a time of life, it is a state of mind.
青春不是生命的一段,而是一种精神状态.
- AAuto如何发布EXE文件
1 如下图所示,谷歌翻译是AAuto提供的源码,我们现在把它做成软件.点击编译,注意看底部状态栏提示,编译之后的谷歌翻译还是aau格式的,双击可以直接运行.但是体积变大了,而且已经是二进制文件,无法再 ...
- Java安全之数字证书
在前面说到.消息摘要用于验证数据完整性,对称与非对称加密用于保证数据保密性,数据签名用于数据的抗否认性,于是集这些安全手段于一身的终极武器--数字证书出现了.数字证书具备了加密/解密的必要信息.包括签 ...
- Katalon
Katalon---一款好用的selenium自动化测试插件 selenium框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动 ...
- POJ 3414:Pots
Pots Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11661 Accepted: 4940 Special J ...
- ucgui界面设计演示样例2
ucgui界面设计演示样例2 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN8 开发环境:MDK4.72 ucgui版本号:3 ...
- Spring Boot与Micronaut性能比较
文章转载出处:微信公众号——锅外的大佬 链接:https://mp.weixin.qq.com/s/MdBByJ0ju-rROKg7jsWygA 今天我们将比较两个在JVM上构建微服务的框架:Spri ...
- html 常用转译空格字符
本人有时候做表格强迫症,字段有的是3个字有的是4个字,也有两个字的,所有不对齐感觉看着难受, 因此需要用空格来让表头文字对齐,找到了下面几个常用的转译字符. 1. &160#;不断行的空白( ...