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) : 按表分离
前言 在上一篇文章中,我们介绍了如何根据不同的租户进行数据分离,分离的办法是一个租户一个数据库. 也提到了这种模式还是相对比较重,所以本文会介绍一种更加普遍使用的办法: 按表分离租户. 这样做的好处是 ...
随机推荐
- Windows环境下多线程编程原理与应用读书笔记(1)————基本概念
自从学了操作系统知识后,我就对多线程比较感兴趣,总想让自己写一些有关多线程的程序代码,但一直以来,发现自己都没怎么好好的去全面学习这方面的知识,仅仅是完成了操作系统课程上的小程序,对多线程的理解也不是 ...
- 在SQL Server中实现关系模型
使用SQL Server的Transact-SQL(T-SQL)方言,此楼梯将为您提供如何使用SQL Server表中的数据的基本了解. DML是数据操作语言,是处理数据的语言的一个方面.它包括SEL ...
- 基于JQuery EasyUI的WebMVC控件封装(含源码)
JQuery EasyUI类库,大家不会陌生,出来已经有很多年了.个人感觉还是很好用的,作者更新频率也很快,bug也及时修复. 最近在整理以前的代码,找到了这个组件,它是将EasyUI组件封装成MVC ...
- hook in PostgreSQL初探
HOOK IN POSTGRESQL 初探 前言 众所周知,PostgreSQL具有很好的扩展性,是一个可以"开发"的数据库.在PostgreSQL里面,你可以定制你自己的Type ...
- 【Kafka源码】ReplicaManager启动过程
在KafkaServer启动过程的入口中,会启动Replica Manager,众所周知,这是一个副本管理器.replica在Kafka中扮演的角色很重要,是保证消息不丢失的一个重要概念. repli ...
- 基于webpack搭建的vue+element-ui框架
花了1天多的时间, 终于把这个框架搭建起来了. 好了, 不多说了, 直接进入主题了.前提是安装了nodejs,至于怎么安装, 网上都有教程. 这里就不多说了, 这边使用的IDE是idea.1.在E:/ ...
- phpstudy APACHE支持.htaccess以及 No input file specified解决方案
APACHE支持.htaccess以及 No input file specified解决方案 你的Apache安装文件夹conf里找到httpd.conf文件 索LoadModule rewrite ...
- 按键精灵 vbs 获取网页源码 xp系统被拒绝
如下面的代码所示,获取新浪博客某个指定网页的源码 verurl = "http://blog.sina.com.cn/s/blog_9ea1db7b0101o7ch.html?" ...
- java中自动装箱带来的性能问题
之前没有特别注意自动封装所带来的性能问题,今天看了effective java,实验了一下,结果大吃一惊: 考虑下面这段代码: public static void main(String args[ ...
- mysql存储过程分库分表
-- 存储过程创建库 分为两条语句删除和创建DELIMITER $$USE myplan $$DROP PROCEDURE IF EXISTS createDBN $$CREATE PROCEDUR ...