关于ABP 新增表,dbfirst模式

下面的代码是基于abp生成的项目,项目名:Store

1.在Domain结尾的项目中通过EF工具生成数据实体:

Scaffold-DbContext 'Data Source=服务器IP;Initial Catalog=数据库;User Id=sa;Password=密码;Encrypt=False;' Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables "Cart"

生成后:public partial class Cart,改成public  class Cart : Entity<int>

如果第一次使用要在项目添加下面两个包

Microsoft.EntityFrameworkCore.Design

Microsoft.EntityFrameworkCore.SqlServer

2.实体添加到DbContext中

EF Core需要你将实体和 DbContext 建立关联.最简单的做法是在Acme.Store.EntityFrameworkCore项目的StoreDbContext类中添加DbSet属性.如下所示:

public class StoreDbContext :
    AbpDbContext<StoreDbContext>,
    IIdentityDbContext,
    ITenantManagementDbContext
{
    /* Add DbSet properties for your Aggregate Roots / Entities here. */
    //省略了原来的代码,下面是添加的
    public DbSet<Cart> Cart { get; set; }
}
   protected override void OnModelCreating(ModelBuilder builder)
   {
        //省略了原来的代码,下面是添加的
     
       builder.Entity<Cart>(b =>
       {
           b.ToTable("Cart");
       });
}

3.Acme.Store.Application.Contracts项目添加:CartDto.cs,ICartAppService.cs

 CartDto.cs内容和上面EF工具生成实体是一样的,区别在于要继承EntityDto<int>:   public class Cart :EntityDto<int>,Cart这个表我用的是int自增主键,这个需要注意一下,EntityDto<int>这里面类型是可以根据主键类型去调整的,ICartAppService.cs内容如下

 public interface ICartAppService :
 ICrudAppService< //Defines CRUD methods
     CartDto, //Used to show 
     int, //Primary key of the  entity
     PagedAndSortedResultRequestDto>
 {

 }

4。Acme.Store.Application项目添加:CartAppService.cs

 public class CartAppService :
CrudAppService<
    Cart, 
    CartDto, 
    int, 
 PagedAndSortedResultRequestDto >, 
ICartAppService 
 {
         public CartAppService(IRepository<Cart, int> repository)
             : base(repository)
         {

         }
     }
 }

运行出现在swagger中说明成功了,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/534568.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【React】React Hooks

useState useState 向组件中添加状态变量 状态是只读的&#xff0c;不可以直接修改 对于对象类型的状态变量&#xff0c;应该传递一个新的对象来更改 需要对象展开&#xff0c;并重新赋值&#xff0c;进行增加或者修改。 如果需要删除&#xff0c;则使用 filter。 import { …

Android MTK 屏下指纹的调试过程记录

Demo链接 -----> https://download.csdn.net/download/u011694328/89118346 一些品牌手机都有了屏下指纹的功能&#xff0c;还算是个比较新颖的功能&#xff0c;最近有项目需要使用屏下指纹&#xff0c; 使用的是汇顶&#xff08;Goodix&#xff09;的指纹方案&#xff0c…

学习笔记之——3DGS-SLAM系列代码解读

最近对一系列基于3D Gaussian Splatting&#xff08;3DGS&#xff09;SLAM的工作的源码进行了测试与解读。为此写下本博客mark一下所有的源码解读以及对应的代码配置与测试记录~ 其中工作1~5的原理解读见博客&#xff1a; 学习笔记之——3D Gaussian Splatting及其在SLAM与自动…

jupyter python paramiko 网络系统运维

概述 通过使用jupyter进行网络运维的相关测试 设备为H3C 联通性测试 import paramiko import time import getpass import re import os import datetimeusername "*****" password "*****" ip "10.32.**.**"ssh_client paramiko.SSHCli…

【JSON2WEB】14 基于Amis的CRUD开发30分钟速成

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

docker安装Jenkins,CI/CD,代码发布,环境维护,测试神器

文章目录 前言创建文件夹设置权限docker-compose.yaml文件安装启动docker 查看网站获取密码方式1获取密码方式2 初始化jenkins 前言 Jenkins 是一个开源的持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;工具&#xff0c;用于自动化构建、测试和部署…

2024最新高频渗透测试面试题,啃完直通大厂

2024的金三银四即将结束&#xff0c;不知道大家有没有找到心仪的工作呀&#xff0c;今天给大家整理了100道渗透测试面试题&#xff0c;都是今年被问到的高频题目 第一套渗透面试题 什么是渗透测试&#xff1f;它的目的是什么&#xff1f;渗透测试的五个阶段是什么&#xff1f;…

免重装系统,直接把家庭版升级为专业版!

前言 前段时间有小伙伴找小白重装系统。一般在重装系统之前&#xff0c;我都会问对方&#xff1a;为什么要重装系统&#xff1f; 结果她和我说&#xff1a;家庭版不好用&#xff0c;想要重装成专业版。感觉专业版更好一些&#xff0c;听起来好像也更厉害一些。 嗯……这个理由…

npm i -g nodemon 遇到的下载卡住及运行权限问题解决记录

一、下载nodemon原因 nodemon作用&#xff1a;用node环境运行js文件时可以实时刷新运行出结果 (即修改js代码后不需再手动重新运行js文件) 二、下载卡住 reify:semver:timing reifyNode:node_modules/nodemon Completed 卡住位置&#xff1a;reify:semver: timing reifyNode…

C#学习笔记9:winform上位机与西门子PLC网口通信_上篇

今日继续我的C#学习笔记&#xff0c;今日开始学习打开使用千兆网口来进行与西门子PLC的通信&#xff1a; 文章提供整体代码、解释、测试效果截图、整体测试工程下载&#xff1a; 主要包含的知识有&#xff1a;下载NuGet程序包、西门子PLC及通信协议、搭建虚拟的S7通信仿真环境…

连接两部VR头显的type-c DP分配器方案,可以给主机设备PD反向供电与两部VR同时供电。

随着type-c的发展&#xff0c;目前越来越多的设备都在使用type-c作为连接的接口&#xff0c; 不仅是笔记本与手机在使用现在的游戏主机如&#xff08;任天堂&#xff0c;steam&#xff0c;&#xff09;或者是VR的一体机或者是VR头显也都在使用type-c作为连接接口。 type-c接口…

Linux云计算之Linux基础3——Linux系统基础part-2

1、终端、shell、文件理论 1、终端 终端(terminal)&#xff1a;人和系统交互的必要设备&#xff0c;人机交互最后一个界面&#xff08;包含独立的输入输出设备&#xff09; 物理终端(console)&#xff1a;直接接入本机器的键盘设备和显示器虚拟终端(tty)&#xff1a;通过软件…

Linux系统本地搭建DbGate数据库并结合内网穿透实现无公网IP远程连接

文章目录 1. 安装Docker2. 使用Docker拉取DbGate镜像3. 创建并启动DbGate容器4. 本地连接测试5. 公网远程访问本地DbGate容器5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 本文主要介绍如何在Linux Ubuntu系统中使用Docker部署DbGate数据库管理工…

基于Java的图书借阅网站, java+springboot+vue开发的图书借阅管理系统 - 毕业设计 - 课程设计

基于Java的图书借阅网站&#xff0c; javaspringbootvue开发的图书借阅管理系统 - 毕业设计 - 课程设计 文章目录 基于Java的图书借阅网站&#xff0c; javaspringbootvue开发的图书借阅管理系统 - 毕业设计 - 课程设计一、功能介绍二、代码结构三、部署运行1、后端运行步骤2、…

css anminate 加载中三个点点动态出现

期待效果&#xff1a; 核心代码&#xff1a; css3 anminate方法 //html <div>加载中<span id"dot">...</span></div>//css <style>   #dot {display: inline-block;width: 1.5em;vertical-align: bottom;overflow: hidden;animati…

HarmonyOS开发:【NFC配置流程】

一、简介 碰一碰是HarmonyOS具备的多终端业务协同技术。其依托NFC短距通信协议&#xff0c;通过碰一碰的交互方式&#xff0c;将手机和全场景设备连接起来。然后通过手机端的原子化服务能力&#xff0c;快速完成配网、远程控制的能力&#xff0c;解决了应用与设备之间接续慢、…

文献速递:深度学习肝脏肿瘤诊断---动态对比增强 MRI 上的自动肝脏肿瘤分割使用 4D 信息:基于 3D 卷积和卷积 LSTM 的深度学习模型

Title 题目 Automatic Liver Tumor Segmentation on Dynamic Contrast Enhanced MRI Using 4D Information: Deep Learning Model Based on 3D Convolution and Convolutional LSTM 动态对比增强 MRI 上的自动肝脏肿瘤分割使用 4D 信息&#xff1a;基于 3D 卷积和卷积 LSTM …

家用洗地机哪个型号推荐?盘点四款最高性价比机型

在当今快节奏的生活中&#xff0c;有娃家庭的地面打扫已经成为日常的卫生保洁&#xff0c;对于许多家庭来说&#xff0c;洗地机成为了必备的助手。然而&#xff0c;面对市场上琳琅满目的洗地机品牌和型号&#xff0c;我们通常为选择哪款好&#xff1f;哪款性价比高而犯难。因为…

css中display所有属性简单了解及使用

css中display所有属性简单了解及使用 说明display属性介绍1.外部值&#xff0c;有3种&#xff0c;如下&#xff1a;1.display: block;2.display: inline;3.display: run-in; 2.内部值&#xff0c;有7种&#xff0c;如下&#xff1a;1.display: flow;2.display: flow-root;3.dis…

SSH远程登陆系统(RedHat9)

ssh的基本用法 ssh hostname/IP # 如果没有指定用什么用户进行连接&#xff0c;默认使用当前用户登录 ssh –l username hostname/IP ssh usernamehostname ssh usernameIP在第一次连接到服务器时&#xff0c;会自动记录服务器的公钥指纹信息 如果出现密钥变更导致错误可以…