.Net Core005EntityFramework的使用

Posted RyouJou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net Core005EntityFramework的使用相关的知识,希望对你有一定的参考价值。


Entity Framework Core使用


1.安装依赖包

Microsoft.EntityFrameworkCore


SqlServer拓展框架包
Microsoft.EntityFrameworkCore.SqlServer


数据库创建工具
Microsoft.EntityFrameworkCore.Tools


2.添加实体Models


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

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

创建存放文件夹Database

创建上下文关系对象

public class AppDbContext : DbContext

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

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

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

# 需要引入
using Microsoft.EntityFrameworkCore;



连接字符串

1.直接使用连接字符串
//options.UseSqlServer("server=loaclhost;Database=FakeXiechengDb;User Id =sa;Password=PaSSWord12!");
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");

配置文件读取连接字符串

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

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

using Microsoft.Extensions.Configuration;

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

public Startup(IConfiguration configuration) {
     Configuration = configuration;
 }

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


5.配置Service和Controller

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

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

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

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


6.创建和更新数据库

在项目文件夹中启动cmd

创建数据库的三种模式

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

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

# 全局安装dotnet cli ef 工具
dotnet tool install --global dotnet-ef
# 使用
dotnet ef migrations add initialMigration
dotnet database update

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

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

查看迁移记录


以上是关于.Net Core005EntityFramework的使用的主要内容,如果未能解决你的问题,请参考以下文章

腾讯急招多名.NET Core,5年30k!

[.NET大牛之路 005] .NET 的执行模型

[005] .NET 的执行模型

JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题

JSTREE使用fuction,和异步传值 005

005- Flume Source之Custom