1.Entity Framework Core 5.0教程,概述和准备
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教程,概述和准备相关推荐
- Entity Framework Core 2.0 全局查询过滤器
本博文翻译自: http://gunnarpeipman.com/2017/08/ef-core-global-query-filters/ Entity Framework Core 2.0 全局查 ...
- Entity Framework Core 7.0 未来规划
Entity Framework Core 7.0(也称为 EF Core 7 或 EF7)的未来规划.该计划汇集了许多相关意见,并概述了微软打算在何处以及如何投资 EF7. IMPORTANT 此 ...
- Entity Framework Core 2.0的新特性
虽然EF Core 2.0存在大量槽点,但是它也给出了不少亮点.在本文中,我们将介绍这次发布版的部分亮点. \\ 数据库表切分(Table Splitting) \\ ORM常被吐槽是总是对所请求数据 ...
- Entity Framework Core 6.0 预览4 性能改进
起因 微软在Build2021开发者大会上,发布Entity Framework Core 6.0(简称EFCore 6)预览第四版,号称是性能版本,性能提升主要对于Entity Framework ...
- Entity Framework Core 2.0 使用代码进行自动迁移
一.前言 我们在使用EF进行开发的时候,肯定会遇到将迁移更新到生产数据库这个问题,前面写了一篇文章介绍了Entity Framework Core 2.0的入门使用,这里面介绍了使用命令生成迁移所需的 ...
- Entity Framework Core 2.0 特性介绍和使用指南
前言 这是.Net Core 2.0生态生态介绍的最后一篇,EF一直是我喜欢的一个ORM框架,随着版本升级EF也发展到EF6.x,Entity Framework Core是一个支持跨平台的全新版本, ...
- 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 ...
- [转帖]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 ...
- 手把手引进门之 ASP.NET Core Entity Framework Core(官方教程翻译版 版本3.2.5)
以下是手把手引进门教程,基于 ASP.NET Core, Entity Framework Core ,ABP 框架 创建Web 应用, PS: 自带自动的测试模块哦. 样例下载 (上 github ...
- Entity Framework Core 2.0 使用入门
本文转载自作者:晓晨Master(李志强) 原文章地址 https://www.cnblogs.com/stulzq/p/7717873.html 一.前言 Entity Framework(后面简称 ...
最新文章
- 修改tomcat7默认首页,将tomcat7默认目录指向自己的项目目录
- 【转】 Java中的变量赋值和参数传递
- python无法选择安装位置图_python怎么安装?(教程图解)
- 调剂2002年计算机科学与技术,教育部关于做好2002年全国研究生录取工作的通知...
- GDCM:gdcm::Filename的测试程序
- (4)pyspark---dataframe清理
- 程序员赚钱致富的6种方法
- eigen冲突 sophus 安装_SLAM-Sophus模板库安装总结
- 解决开启Vue项目缺少node_models包问题
- 网络***检查分析---破解安全隐患问题回答
- vue 怎么设置 项目ico_vue项目如何优雅地设置favicon.ico
- redis持久化RDB与AOF
- 概率图模型在图像处理中的应用
- matlab 矩阵卷积
- 使用kubeadm在CentOS上搭建Kubernetes1.14.3集群
- 【设计欣赏】新颖包装设计欣赏
- 一个常用的电池包电压检测电路
- NDK交叉编译qemu报错:undefined symbol: memfd_create
- 真无线蓝牙耳机推荐:2021最受欢迎的TWS耳机品牌
- “猫爪杯”遭国人疯抢,“大白兔冰淇淋”在美国大火