Entity Framework Core就是一个ORM,什么是ORM?Entity Framework Core能把C#里的类映射到数据库里的表,然后属性就映射到字段上。
 
首先建三个Model或在数据库中建三张表。
假如是一个足球联赛,其包括:League(联赛),Club(足球队、俱乐部),Player(运动员) 三个都是一对多的关系

1、创建项目

  • 1、打开Visual Studio 2019-->创建新项目-->选择【空白解决方案】-->输入解决方案名称-->创建完成
  • 2、创建类库:选择解决方案右击-->添加-->新建项目-->选择【类库(.NET Standard)】[图1]也可以选择【类库(.NET Core)】-->最后给类库起名为Models
  • 3、再创建一个类库,起名为Data (同上图)
  • 4、再创建一个【ASP.NET Core Web应用程序】[图2],起名为WebApi,创建web应用程序选择API[图3]
  • 5、最后的项目结构

2、添加Model

在Models项目中添加三个Model :League(联赛),Club(足球队、俱乐部),Player(运动员)。
建好三个模型后,在Data类库引用Models类库

// 联赛
public class League
{public Guid Id { get; set; }public string Name { get; set; }public string Country { get; set; }//国家
}
//运动员
public class Player
{public Guid Id { get; set; }public string Name { get; set; }public DateTime Birth { get; set; }
}
//足球队
public class Club
{public Club(){Players = new List<Player>();//为了以后使用不会遇到空引用}public Guid Id { get; set; }public string Name { get; set; }public string City { get; set; }public DateTime DateOfEstablishment { get; set; }//成立日期public string History { get; set; }//历史成绩public League League { get; set; }//联赛public List<Player> Players { get; set; }//运动员列表
}

3、安装Entity Framework Core相关包

在Data类库中通过NuGit安装两个包(菜单栏——工具——NuGet包管理工具——管理解决方案的NuGet程序包)

  • 1、Microsoft.EntityFrameworkCore.SqlServer
  • 2、Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore.Tools包中会包含Microsoft.EntityFrameworkCore.Design包

  • 在Data类库中引用Models类库
  • 在WebApi应用程序中引用Data类库(不用引用Models类库也同样能使用Models下的类,因为Data类库已经引用了Models类库,它们有级联依赖关系)(同上引用)
  • 在WebApi应用程序中通过NuGit安装Microsoft.EntityFrameworkCore.Design包,并将webapi设为启动项目

4、映射数据库

将Model映射到数据库里,首先要建立一个AppDbContext类,在Data类库中;这个类需要继承DbContext。
AppDBcontext中包括包含了所有逻辑,比如与数据库交互、数据变化追踪等
为让三个Model能在Context中正常工作,将三个Model暴露成DbSet类型

public class AppDbContext : DbContext
{public AppDbContext(DbContextOptions<AppDbContext> options): base(options) { }public DbSet<League> Leagues { get; set; }public DbSet<Club> Clubs { get; set; }public DbSet<Player> Players { get; set; }
}

三个Model写好后,还需要将类映射到数据中,也就是映射数据库的三个表,与数据库连接就需要数据库连接字符串
在WebApi应用程序中的appsettings.json文件中添加如下配置:

"ConnectionStrings": {//两种连接方式都可以  一种weindows验证  一种是sa用户//"DefaultConnection": "Server=.;Database=EFCoreDb;Trusted_Connection=True;MultipleActiveResultSets=true""DefaultConnection": "Server=127.0.0.1; Database=EFCoreDb; Persist Security Info=True;User ID=sa;Password=123;Packet Size=512;"}

在Startup类的ConfigureServices方法下注入数据库上下文依赖

services.AddDbContext<AppDbContext>(optionsAction => optionsAction.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

1.Entity Framework Core 5.0教程,概述和准备相关推荐

  1. Entity Framework Core 2.0 全局查询过滤器

    本博文翻译自: http://gunnarpeipman.com/2017/08/ef-core-global-query-filters/ Entity Framework Core 2.0 全局查 ...

  2. Entity Framework Core 7.0 未来规划

    Entity Framework Core 7.0(也称为 EF Core 7 或 EF7)的未来规划.该计划汇集了许多相关意见,并概述了微软打算在何处以及如何投资  EF7. IMPORTANT 此 ...

  3. Entity Framework Core 2.0的新特性

    虽然EF Core 2.0存在大量槽点,但是它也给出了不少亮点.在本文中,我们将介绍这次发布版的部分亮点. \\ 数据库表切分(Table Splitting) \\ ORM常被吐槽是总是对所请求数据 ...

  4. Entity Framework Core 6.0 预览4 性能改进

    起因 微软在Build2021开发者大会上,发布Entity Framework Core 6.0(简称EFCore 6)预览第四版,号称是性能版本,性能提升主要对于Entity Framework  ...

  5. Entity Framework Core 2.0 使用代码进行自动迁移

    一.前言 我们在使用EF进行开发的时候,肯定会遇到将迁移更新到生产数据库这个问题,前面写了一篇文章介绍了Entity Framework Core 2.0的入门使用,这里面介绍了使用命令生成迁移所需的 ...

  6. Entity Framework Core 2.0 特性介绍和使用指南

    前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...

  7. Entity Framework Core 3.0 和 Entity Framework 6.3 正式发布

    Entity Framework Core 3.0 和 Entity Framework 6.3 通用版发布了,接下来我们看看它的新内容: Entity Framework Core 3.0 EF C ...

  8. [转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET Core 1.0.ASP.NET MVC Core 1.0和Entity Framework Core 1.0 http://www.cnblogs.com/webapi/p/5673 ...

  9. 手把手引进门之 ASP.NET Core Entity Framework Core(官方教程翻译版 版本3.2.5)

    以下是手把手引进门教程,基于 ASP.NET Core, Entity Framework Core ,ABP 框架 创建Web 应用, PS: 自带自动的测试模块哦. 样例下载 (上 github  ...

  10. Entity Framework Core 2.0 使用入门

    本文转载自作者:晓晨Master(李志强) 原文章地址 https://www.cnblogs.com/stulzq/p/7717873.html 一.前言 Entity Framework(后面简称 ...

最新文章

  1. 修改tomcat7默认首页,将tomcat7默认目录指向自己的项目目录
  2. 【转】 Java中的变量赋值和参数传递
  3. python无法选择安装位置图_python怎么安装?(教程图解)
  4. 调剂2002年计算机科学与技术,教育部关于做好2002年全国研究生录取工作的通知...
  5. GDCM:gdcm::Filename的测试程序
  6. (4)pyspark---dataframe清理
  7. 程序员赚钱致富的6种方法
  8. eigen冲突 sophus 安装_SLAM-Sophus模板库安装总结
  9. 解决开启Vue项目缺少node_models包问题
  10. 网络***检查分析---破解安全隐患问题回答
  11. vue 怎么设置 项目ico_vue项目如何优雅地设置favicon.ico
  12. redis持久化RDB与AOF
  13. 概率图模型在图像处理中的应用
  14. matlab 矩阵卷积
  15. 使用kubeadm在CentOS上搭建Kubernetes1.14.3集群
  16. 【设计欣赏】新颖包装设计欣赏
  17. 一个常用的电池包电压检测电路
  18. NDK交叉编译qemu报错:undefined symbol: memfd_create
  19. 真无线蓝牙耳机推荐:2021最受欢迎的TWS耳机品牌
  20. “猫爪杯”遭国人疯抢,“大白兔冰淇淋”在美国大火

热门文章

  1. 蓝桥杯省赛2017年Java组B组
  2. 1010 Radix(25 分)
  3. 队列queue中的常用函数
  4. his提供哪些服务_论文查重检测系统提供哪些服务
  5. 用概率的方法计算Pi值
  6. OpenCV图像处理基础操作(1)
  7. python怎么设置加密,Python 加密的实例详解
  8. qt三维曲线_Qt 的许可类型、主要版本以及安装步骤
  9. 生产排程系统_MES环境下如何执行智能生产排程
  10. Linux 进程内存掉电保存,Shell脚本可在Linux断电时停止应用程序