当前位置:   article > 正文

【.Net Core】005EntityFramework的使用_.net core entity framework

.net core entity framework


Entity Framework Core使用

在这里插入图片描述


1.安装依赖包

Microsoft.EntityFrameworkCore

在这里插入图片描述
SqlServer拓展框架包
Microsoft.EntityFrameworkCore.SqlServer

在这里插入图片描述
数据库创建工具
Microsoft.EntityFrameworkCore.Tools
在这里插入图片描述


2.添加实体Models

在这里插入图片描述
在这里插入图片描述

# 对数据模型做限定
using System.ComponentModel.DataAnnotations;
using 
# 自增类型
System.ComponentModel.DataAnnotations.Schema;
  • 1
  • 2
  • 3
  • 4
  • 5
[Key]主键,自动使用:类名+Id作为命名
[Required]不能为空
[MaxLength(100)]长度限制
[Column(TypeName="")]
[Range(0.0,1.0)]数据范围限制
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]自增类型
[ForeignKey("TouristRouteId")]外键联系 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.创建数据库上下文关系对象DbContext

创建存放文件夹Database

在这里插入图片描述

创建上下文关系对象

public class AppDbContext : DbContext
在这里插入图片描述

1.创建AppDbContext类
2.using Microsoft.EntityFrameworkCore;使用框架
3.继承 DbContext
4.利用构造函数注入DbContext的实例,需要外部访问使用public,需要调用父类base
5.指明哪些数据模型要映射到数据库中【使用DbSet指明】
  • 1
  • 2
  • 3
  • 4
  • 5

4.注入到Startup容器中和配置连接字符串

通过依赖关系注入进行注册 ConfigureServices

# 需要引入
using Microsoft.EntityFrameworkCore;
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述
连接字符串

1.直接使用连接字符串
//options.UseSqlServer("server=loaclhost;Database=FakeXiechengDb;User Id =sa;Password=PaSSWord12!");
  • 1
  • 2
2.使用VS自带数据库怎么使用连接字符串?
 //options.UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=FakeXiechengDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
  • 1
  • 2

配置文件读取连接字符串

3.利用配置文件读取配置连接字符串
options.UseSqlServer(Configuration["DbContext:ConnectionString"]);
["对应在配置文件的路径"]
  • 1
  • 2
  • 3

需要补充注入读取配置服务依赖 using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.Configuration;

//使用dotnet内建服务导入配置文件
 public IConfiguration Configuration { get; }

public Startup(IConfiguration configuration) {
     Configuration = configuration;
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在配置文件配置连接字符串

在这里插入图片描述


5.配置Service和Controller

Service接口注入DbContext【模型层注入服务层】

 //注入Entity映射工具
 private readonly AppDbContext _context;
 public TouristRouteRepository(AppDbContext context) {
            //_下划线表示变量是私有的
            _context = context;
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

Controller注入Service【服务层注入控制层】

/*
固定注入
*/
private ITouristRouteRepository _touristRouteRepository;//私有变量加上下划线
        
public TouristRoutesController(ITouristRouteRepository touristRouteRepository)//构造
{
    _touristRouteRepository = touristRouteRepository;//转变成私有存入
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

6.创建和更新数据库

在项目文件夹中启动cmd
在这里插入图片描述

创建数据库的三种模式

dbfirst模式 数据库优先,提前创建好数据库
modelfirst 模型优先 先创建模型,自动生成数据库
codefisrt模式 通过dbcontext创建数据库
  • 1
  • 2
  • 3

modelfirst——dontnet命令行创建数据库

# 全局安装dotnet cli ef 工具
dotnet tool install --global dotnet-ef
# 使用
dotnet ef migrations add initialMigration
dotnet database update
  • 1
  • 2
  • 3
  • 4
  • 5

modelfirst——dontnet命令行更新数据库结构

# 使用
dotnet ef migrations add xxxx 替换名称即可
dotnet database update
  • 1
  • 2
  • 3

查看迁移记录

在这里插入图片描述


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

闽ICP备14008679号