AspNet Core :创建自定义 EF Core 链接数据库
这两天比较忙,写的会慢一点。
我们以控制台演示 EF Core的链接数据库
首先创建控制台程序

创建数据上下文类
EntityTable
/// <summary>
/// 继承 DbContext 数据上下文类
/// 命名空间 using Microsoft.EntityFrameworkCore;
/// </summary>
public class EntityTable : DbContext
{ //在DbContext的构造函数中我们可以接受一个DbContextOptions对象,
//这个主要用在当在DI容器中创建DbContext实例时会用到,当然它也能被显式调用,通过创建DbCOntextOptions对象来与上下文隔离
//所以用它可以为每一个上下文的实例使用相同的options,如下:
public EntityTable(DbContextOptions options) : base(options)
{ }
public DbSet<User> User { get; set; }
}
public class User
{
[Key]
public int ID { get; set; }
public String Name { get; set; }
public String Age { get; set; }
}
新建Json配置文件:注意一定要把 Json文件属性改为“始终复制“不然重新生成是Debug文件不会生成,程序读取不到
Json 内容
{
"ConnectionStrings": {
"SqlServer": "Data Source=DESKTOP-O9UM2R2;Initial Catalog=FirstDB;Persist Security Info=True;User ID=sa;Pwd=su;"
}
}
读取Json 文件 链接数据库 读取User表数据

var BuilderAppStting = new ConfigurationBuilder();
BuilderAppStting.AddJsonFile("json1.json");//加载Json文件
//取出所有配置节点Key
var Configuration = BuilderAppStting.Build();
//重新创建生成数据上下文EntityTable 类的实例
var builder = new DbContextOptionsBuilder<EntityTable>();
//这里的读取配置的方法 把GetSection的工作一次性做完 关于 GetSection在上一篇文中已经体现过
builder.UseSqlServer(Configuration.GetConnectionString("SqlServer"));
//如果数据库不存 重新实例化 数据上下文类
// EFConfigProvider eFConfigProvider = new EFConfigProvider(builder);
using (var dbContext = new EntityTable(builder.Options))
{
// Migrate() 将上下文的任何挂起的迁移应用到数据库。将创建
//如果还不存在数据库,则为数据库。
//请注意,此API与DbContext.Database.EnsureCreated()互斥。
//EnsureCreated不使用迁移来创建数据库,因此
//创建的数据库以后不能使用迁移更新。
dbContext.Database.Migrate();
// EnsureCreated()确保上下文的数据库存在。如果存在,则不进行操作
//拿.如果不存在,则创建数据库及其所有模式。
//如果数据库存在,则不必努力确保它与
//此上下文的模型。
//注意,此API不使用迁移来创建数据库。此外,
//创建的数据库不能使用迁移稍后更新。如果你
//针对关系数据库和应用迁移,你可以使用DbContext migrate()。数据库。
//方法以确保创建数据库并应用所有迁移。
//dbContext.Database.EnsureCreated();
User ss= dbContext.User.Where(x => x.ID == ).SingleOrDefault();
dbContext.User.ToList().ToString();
读取第一条数据

项目中还有两个类 总感觉描述的不是很清晰 包括另一种实现EF的方式 还需要加强。
AspNet Core :创建自定义 EF Core 链接数据库的更多相关文章
- Abp vNext 自定义 Ef Core 仓储引发异常
问题 在使用自定义 Ef Core 仓储和 ABP vNext 注入的默认仓储时,通过两个 Repository 进行 Join 操作,提示 Cannot use multiple DbContext ...
- EF Core 快速上手——EF Core的三种主要关系类型
系列文章 EF Core 快速上手--EF Core 入门 本节导航 三种数据库关系类型建模 Migration方式创建和习修改数据库 定义和创建应用DbContext 将复杂查询拆分为子查询 本 ...
- EF Core 快速上手——EF Core 入门
EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用 本文是对 ...
- Asp.net core下利用EF core实现从数据实现多租户(1)
前言 随着互联网的的高速发展,大多数的公司由于一开始使用的传统的硬件/软件架构,导致在业务不断发展的同时,系统也逐渐地逼近传统结构的极限. 于是,系统也急需进行结构上的升级换代. 在服务端,系统的I/ ...
- Asp.net core下利用EF core实现从数据实现多租户(3): 按Schema分离 附加:EF Migration 操作
前言 前段时间写了EF core实现多租户的文章,实现了根据数据库,数据表进行多租户数据隔离. 今天开始写按照Schema分离的文章. 其实还有一种,是通过在数据表内添加一个字段做多租户的,但是这种模 ...
- ASP.NET Core 中使用EF Core 将实体映射到数据库表的方法(SQL Server)
前段时间听过一个关于使用ASP.NET Core建立项目的视频.其中使用EF Core映射到数据库的部分是按部就班地学习.今天自己建立项目时,有些步骤已经有一些遗忘.所以写下这篇文章,顺便理清思路. ...
- Asp.net core 学习笔记 ( ef core )
更新 : 2018-11-26 这里记入一下关于 foreignKey cascade action 默认情况下如果我们使用 data annotation required + foreginkey ...
- Asp.net core 学习笔记 ( ef core transaction scope & change level )
ef core 有 unit of work 的概念,当我们 save change 时会自动使用 transaction 确保更新的一致性. 隔离级别是默认的 read committed 不允许脏 ...
- Asp.net core下利用EF core实现从数据实现多租户(2) : 按表分离
前言 在上一篇文章中,我们介绍了如何根据不同的租户进行数据分离,分离的办法是一个租户一个数据库. 也提到了这种模式还是相对比较重,所以本文会介绍一种更加普遍使用的办法: 按表分离租户. 这样做的好处是 ...
随机推荐
- 移动端车牌识别sdk开发包(可下载)
移动端车牌识别是一项基于OCR识别的应用技术.移动端车牌识别过程主要包含五个步骤,其中包括图像采集.图像预处理.车牌定位.字符分割.字符识别.输出结果等一系列计算机算法运算, 第一步[图像采集]:此步 ...
- FTP配置的一些笔记
1.必须关闭防火墙 iptables -F iptables -X iptables -Z vi /etc/selinux/config SELINUX=disabled seten ...
- sql select case when 语句
有道笔试题: 服务器监控表server_status中,当服务器状态发生server_status变化时数据表中将被插入一条记录,状态0表示停机 1表示正常,用SQL查询Server A 的停机开始 ...
- maven下的sqlserver配置jar包
看了两天的maven,开始把之前做的ssm项目搭建成maven项目,结果在sqlserver的依赖包上受阻,sqlserver需要sqljdbc4.jar包,经过一系列百度教程才得以解决,现在总结一下 ...
- 主机和VMware中的Linux如实现共享文件夹
当我在网上查了几小时的挂载文件夹方法后发现,VMware中的Linux的挂载和双系统的挂载不同 最终目的就是在/mnt目录下有个hgfs的文件夹 效果图: 首先打开VMware中的Linux系统 具体 ...
- 基础教程:上传/下载ASP.NET Core 2.0中的文件
问题 如何上传和下载ASP.NET Core MVC中的文件. 解 在一个空的项目中,更新 Startup 类以添加MVC的服务和中间件. publicvoid ConfigureServices( ...
- Python之os.fork
[参考资料] http://www.01happy.com/python-fork-create-process/ http://www.python-course.eu/forking.php ht ...
- 从vultr购买到搭ss看世界
title: 从Vultr购买到搭ss看世界 date: 2017-11-19 12:28:38 categories: 技术 tags: top: 800 password: 写在前面 服务器提 ...
- vue-cli 如何配置sass
第一步:安装对应的node模块 npm install node-sass --save-dev npm install sass-loader --save-dev 第二步:在webpack.bas ...
- Linux笔记(固定USB摄像头硬件端口,绑定前后置摄像头)
在Android的系统会有前置摄像头和后置摄像头的定义,摄像头分为SOC类型的摄像头和USB这一类的摄像头,接下要分析就是USB摄像头这一类 . 一般在android或者linux系统中分析一个模块, ...