ef core code first pgsql

news2024/11/26 21:19:24

在使用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.coloradmin.cn/o/1207964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARPG----C++学习记录05 Section12 动画蒙太奇,收拿剑,MetaSound,调整动画

代码更新 https://github.com/BAOfanTing/ARPG_Game_Code/commit/c629270e49496ba1bcbaf03780d23c1842ca5e7a Animation Montages动画蒙太奇 蒙太奇的工作流程 新建一个鼠标左键的按键映射&#xff0c;下载一些攻击动画&#xff0c;重定向给我们的人物&#xff0c;新建一个动画…

一文看懂香港优才计划和高才通计划的区别和优势?如何选?

一文看懂香港优才计划和高才通计划的区别和优势&#xff1f;如何选&#xff1f; 为什么很多人都渴望有个香港身份&#xff1f; 英文这里和内地文化相近&#xff0c;语言相通&#xff0c;同时税率较低、没有外汇管制&#xff0c;有稳定金融体制和良好的营商环境&#xff0c;诸多…

中睿天下Coremail | 2023年Q3企业邮箱安全态势观察报告

10月25日&#xff0c;北京中睿天下信息技术有限公司联合Coremail邮件安全发布《2023年第三季度企业邮箱安全性研究报告》。2023年第三季度企业邮箱安全呈现出何种态势&#xff1f;作为邮箱管理员&#xff0c;我们又该如何做好防护&#xff1f; 以下为精华版阅读&#xff0c;如需…

【业务场景】长列表的处理

长列表的处理 1. 什么是长列表 在前端开发中&#xff0c;经常会遇到列表展示&#xff0c;如果列表项的数量比较多&#xff0c;我们一般选择采用分页的方式来进行处理 但传统的前后翻页方式只适用于后台的管理系统中&#xff0c;而在用户端、尤其是在移动端&#xff0c;为了保…

Spark读取excel文件

文章目录 一、excel数据源转成csv二、Spark读取csv文件(一)启动spark-shell(二)读取csv生成df(三)查看df内容一、excel数据源转成csv 集群bigdata - ubuntu: 192.168.191.19master(bigdata1) - centos: 192.168.23.78 slave1(bigdata2) - centos: 192.168.23.79 slave2(b…

WY-35A4三相欠压继电器 导轨安装,延时动作0-99.99s可调

系列型号 单相 JY-45A1电压继电器&#xff1b;JY-45B1电压继电器&#xff1b; JY-45C1电压继电器&#xff1b;JY-45D1电压继电器&#xff1b; JY-41A1电压继电器&#xff1b;JY-41B1电压继电器&#xff1b; JY-41C1电压继电器&#xff1b;JY-41D1电压继电器&#xff1b; …

vue2项目从0搭建(一):项目搭建

前言: vue2项目可谓十分常见,国内大部分的前端码农应该都是用vue2技术在开发,虽然vue3和react等技术也有很多,但是占据绝大多数的中高级搬砖码农应该干的都是vue2技术的项目,就算现在很多人转战vue3技术了,但是维护原有vue2的项目应该也是很多的。 我本来是不打算写vue2的技术…

Karmada调度器

调度器就像一个发动机&#xff0c;如果没有了发动机输入动力&#xff0c;是无法正常运行的。就像 Kubernetes 的调度器&#xff0c;它会负责根据节点的资源状态、Pod 的运行状态&#xff0c;判断 Pod 是调度到怎样的集群节点上去。对于 Karmada 这样的多云能力的调度器来说&…

mysql之MHA

1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换&#xff08;基于主从复制才能故障切换&#xff09; MHA最少要求一主两从&#xff0c;半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃&#xff0c;MHA可以在0-30…

OSCNet: Orientation-Shared Convolutional Network for CT Metal Artifact Learning

OSCNet: 面向共享的CT金属伪影学习卷积网络 论文链接&#xff1a;https://ieeexplore.ieee.org/document/10237226 项目链接&#xff1a;https://github.com/hongwang01/OSCNet&#xff08;目前不会开源&#xff09; Abstract X射线计算机断层扫描(CT)已广泛应用于疾病诊断和…

“糖尿病日”感言

长期旺盛的写作欲&#xff0c;今天忽地就莫名其妙地衰退下来了。感到浑身都不舒服&#xff0c;特别是过去从未出现过的腰微痛、乏力现象发生了。 转念一想&#xff0c;或是老龄人一日不如一日的正常反应吧&#xff1f;而且&#xff0c;今天恰逢“ 联合国糖尿病日”&#xff0c…

2023-2024-2 高级语言程序设计-二维数组

7-1 矩阵运算 给定一个nn的方阵&#xff0c;本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n&#xff08;1<n≤10&#xff09;&#xff1b;随后n行&#xff0c;每行给出…

WGCLOUD的特点整理

做运维工作很多年了&#xff0c;项目中用过不少的运维软件工具&#xff0c;今天整理下WGCLOUD的特点&#xff08;优点&#xff09; 首先WGCLOUD是完全免费的 部署使用&#xff1a;部署简单方便&#xff0c;上手容易&#xff0c;几乎没有学习成本&#xff0c;对新手友好 文档…

文献阅读——Layered Costmaps for Context-Sensitive Navigation

摘要 许多导航系统&#xff0c;包括无处不在的ROS导航堆栈&#xff0c;在单个成本图上执行路径规划&#xff0c;其中大部分信息存储在单个网格中。这种方法在生成最小长度的无碰撞路径方面非常成功&#xff0c;但是当成本图中的值超出已占用或空闲空间时&#xff0c;它在动态的…

【教学类-07-08】20231114《破译电话号码-图形篇(图形固定列不重复)》(大4班 有名字 有班级 无学号、零=0)

效果展示 背景需求&#xff1a; 最近大4班做“嵌套骰子”非常频繁&#xff0c;为了避免“疲劳”&#xff0c;我找出他们班家长的手机号&#xff0c;批量做了“破译电话号码”&#xff0c;有图案版和加减法版&#xff0c;考虑到第一次做&#xff0c;还是选最简单的“点数总数&a…

物联网AI MicroPython学习之语法 umqtt客户端

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; umqtt 介绍 模块功能: MQTT客户端功能 - 连线、断线、发布消息、订阅主题、KeepAlive等功能。 MQTT协议采用订阅者/发布者模式&#xff0c;协议中定义了消息服务质量&#xff08;Quality of Service&#x…

墨西哥专线国际物流为何连续几年高增长?

墨西哥专线国际物流之所以连续几年高增长&#xff0c;有多个原因。首先&#xff0c;墨西哥作为北美地区重要的制造业基地&#xff0c;其对国际物流的需求持续增长。墨西哥的地理位置使其成为连接北美、中美洲和南美洲的重要交通枢纽&#xff0c;这意味着墨西哥的国际物流需求将…

二分法中的两个模板

在acwing的算法基础课中&#xff0c;yxc给出了二分的两个模板&#xff0c;这里举有序数组查找某个数的例子来说明这两个模板。 模板1&#xff1a; 当我们将区间[l, r]划分成[l, mid]和[mid 1, r]时&#xff0c;其更新操作是r mid或者l mid 1;&#xff0c;计算mid时不需要加…

用Go实现yaml文件节点动态解析

1.摘要 在大多数Go语言项目中, 配置文件通常为yaml文件格式, 在文件中可以设置项目中可灵活配置的各类参数, 通常这类参数都是比较固定的, 可以将其映射为对应的结构体在项目中进行使用, 如果需要调整参数时, 只需要增减结构体参数字段内容即可。 但同时还存在另外一种情况, …

【PG】PostgreSQL高可用方案repmgr部署(非常详细)

目录 简介 1 概述 1.1 术语 1.2 组件 1.2.1 repmgr 1.2.2 repmgrd 1.3 Repmgr用户与元数据 2 安装部署 2.0 部署环境 2.1 安装要求 2.1.1 操作系统 2.1.2 PostgreSQL 版本 2.1.3 操作系统用户 2.1.4 安装位置 2.1.5 版本要求 2.2 安装 2.2.1 软件包安装 2.2…