这两天比较忙,写的会慢一点。

我们以控制台演示 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的方式 还需要加强。

最新文章

  1. Web大前端时代之:HTML5+CSS3入门系列
  2. c#连接关闭了,事务并没有关闭
  3. JSP网站开发基础总结《四》
  4. MVC Return View() 和 Return PartialView()的区别
  5. apache 配置多个虚拟主机,不同的端口
  6. ascii转int,int在转回ascii原值
  7. crontab执行shell脚本
  8. Oracle超出最大连接数问题及解决
  9. angularApi网站用vue重构
  10. 关于 android的 渲染器 Shader
  11. Android_Chronometer计时器
  12. PHP面向对象的特性
  13. Linux编程之自定义消息队列
  14. 通过CSS实现各种方向的三角形
  15. Arrays.asList()生成的List抛UnsupportedOperationException分析
  16. Java 常用单词
  17. MySQL InnoDB下关于MVCC的一个问题的分析
  18. 洛谷 P1411 树
  19. 获取数值型数组中大于60的元素个数,给数值型数组中不足60分的加20分。(数组,for循环,if条件判断语句)
  20. Fiddler抓包3-查看get与post请求

热门文章

  1. ⑿bootstrap组件 缩略图 警告框 进度条 基础案例
  2. C# 取Visio模型信息的简易方法
  3. OpenCV畸变校正源代码分析
  4. Python学习——列表
  5. c#基础知识索引器
  6. Spark之MapReduce原理
  7. B-树&amp;B+树以及其在数据库中的应用
  8. Python之matplotlib学习(二)
  9. [转]我在面试.NET/C#程序员时会提出的问题
  10. mybatis中sql语句的批量插入