.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的使用的主要内容,如果未能解决你的问题,请参考以下文章