当前位置: 首页 > news >正文

ef core code first pgsql

在使用efcode来操作pgsql的时候,总有些基础配置流程项目建立完之后后面就很少用,总是忘掉,写个文档记忆一下吧。基于net 6.0。

1.创建一个mvc项目和一个EF类库

2.在类库里面安装依赖dll 

Microsoft.EntityFrameworkCore.Design

需要添加的相关依赖及说明如下:

  • Npgsql.EntityFrameworkCore.PostgreSQL

      PostgreSQL数据提供的支持EF Core的基础类库,是通过EF Core使用PostgreSQL数据库的根本。

  • Npgsql.EntityFrameworkCore.PostgreSQL.Design

      使用Guid(对应Postgre数据的类型为uuid)类型的主键必须,int/long类型的主键不添加也没问题。

  • Microsoft.EntityFrameworkCore.Tools

      EF Core工具,CodeFirst数据库迁移相关操作必须。

  添加相关引用依赖的方式有多种,可以通过NuGet程序包管理器控制台的Install-Packege命令

PM> Install-Package Npgsql.EntityFrameworkCore.PostgreSQL
PM> Install-Package Npgsql.EntityFrameworkCore.PostgreSQL.Design
PM> Install-Package Microsoft.EntityFrameworkCore.Tools

3.创建类和上下文

 public class College{public int CollegeId { get; set; }public string Name { get; set; }public List<Student> Students { get; set; }}public class Student{public int StudentId { get; set; }public string Name { get; set; }public int CollegeId { get; set; }public College College { get; set; }}
public class PostgreSQLContent : DbContext
{public PostgreSQLContent(DbContextOptions<PostgreSQLContent> options) : base(options){}public DbSet<College> College { get; set; }public DbSet<Student> Student { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.Entity<College>().HasMany(c => c.Students).WithOne(s => s.College).HasForeignKey(s => s.CollegeId);}
}

4.在MVC项目里面配置数据库连接

5.使用 Add-Migration Inih 创建

6.Update-Database Inih 运行生成相应的数据库 。

http://www.lryc.cn/news/231974.html

相关文章:

  • 容器化nacos部署并实现服务发现(gradle)
  • 金融行业如何数字化转型?_光点科技
  • 【LeetCode刷题-滑动窗口】--1695.删除子数组的最大得分
  • iOS OpenGL ES3.0入门实践
  • 网络基础(一)
  • SQLServer添加Oracle链接服务器
  • 2017年计网408
  • UE5中APlayerController属性与方法列表(翻译中......)
  • TCP连接保活机制
  • centos安装mysql8.0.20、tar包安装方式
  • k8s yaml文件含义
  • ProEasy机器人:运动+通讯相关说明
  • Visual Studio Code 配置 C/C++ 开发环境的最佳实践(VSCode + Clangd + CMake)
  • 年产200万件的超级工厂投产!巨头「闭环」汽车电子全产业链
  • 智能穿戴AR眼镜主板方案定制_MTK平台AR智能眼镜PCB板开发
  • 【入门Flink】- 11Flink实现动态TopN
  • 现在做跨境电商还需要全球代理IP吗?全球代理IP哪家靠谱?
  • 微服务的常用组件
  • Android问题笔记四十五:解决SeekBar操作thumb周围产生的圆形阴影/灰色阴影/白色圆圈的解决办法
  • AI从入门到精通,什么是LLMs大型语言模型?
  • 优测云测试平台 | 有效的单元测试(下)
  • CUDA安装
  • 【XTDrone Ubuntu18.04】XTDrone + Ubuntu18.04 + PX4 安装过程
  • 网站使用什么协议比较好
  • 18. 机器学习——集成学习
  • SimaPro生命周期评估建模与碳足迹分析流程
  • 我的项目分享(不喜勿喷)
  • PyTorch:张量与矩阵
  • 传统广电媒体为何选择上云?有何优势?
  • 系列十、堆参数调优