当前位置:   article > 正文

1.Entity Framework Core 5.0教程,概述和准备_entityframework 5.0.0使用

entityframework 5.0.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类库

  1. // 联赛
  2. public class League
  3. {
  4. public Guid Id { get; set; }
  5. public string Name { get; set; }
  6. public string Country { get; set; }//国家
  7. }
  1. //运动员
  2. public class Player
  3. {
  4. public Guid Id { get; set; }
  5. public string Name { get; set; }
  6. public DateTime Birth { get; set; }
  7. }
  1. //足球队
  2. public class Club
  3. {
  4. public Club()
  5. {
  6. Players = new List<Player>();//为了以后使用不会遇到空引用
  7. }
  8. public Guid Id { get; set; }
  9. public string Name { get; set; }
  10. public string City { get; set; }
  11. public DateTime DateOfEstablishment { get; set; }//成立日期
  12. public string History { get; set; }//历史成绩
  13. public League League { get; set; }//联赛
  14. public List<Player> Players { get; set; }//运动员列表
  15. }

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类型

  1. public class AppDbContext : DbContext
  2. {
  3. public AppDbContext(DbContextOptions<AppDbContext> options)
  4. : base(options) { }
  5. public DbSet<League> Leagues { get; set; }
  6. public DbSet<Club> Clubs { get; set; }
  7. public DbSet<Player> Players { get; set; }
  8. }

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/253528
推荐阅读
相关标签
  

闽ICP备14008679号