[Practice Note] 2.Abp入门:DDD实体模型设计,数据迁移

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载

Demo项目地址:https://download.youkuaiyun.com/download

添加实体模型

在Abp的Core项目[领域层]中添加实体
在这里插入图片描述

namespace ABPTest.MainConference
{
	public class MainConference:Entity<Guid>
    {
        [Description("主会议名")]
        public string Name { get; set; }
        [Description("创建时间")]
        public string CreateDate { get; set; }
        [Description("备注")]
        public string ReMark { get; set; }
    }
}
namespace ABPTest.SubConference
{
	public class SubConference:Entity<Guid>
    {
        [Key] //这里设置主键后,继承Entity的Id不会被设置为主键
        [Description("子会议ID")]
        public int SubConferenceId { get; set; }
        [Description("子会议名")]
        public string Name { get; set; }
        [Description("创建时间")]
        public DateTime CreateDate { get; set; }
        [Description("创建人")]
        public string CreateUser { get; set; }
        [Description("备注")]
        public string ReMark { get; set; }
    }
}


//下面这个类是后面新加的,作为对比参考
namespace ABPTest.EntityModel
{
    [Table("Common_Participant")]    //指定数据库生成表名,不指定默认表名= 类名+s
    public class Participant:FullAuditedEntity<int>  /*继承该类型,默认生成审计字段:
    创建时间、创建人.....*/
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public int Sex { get; set; }
    }
}

实体模型继承Entity基类,定义主键类型,这里代码继承了Entity< Guid> 意思是会默认在数据库表中加上Guid类型的主键Id。如果在实体中定义了特性[key]那么Id字段生成后不会被设置为主键

实体定义完成后,在Context上下文中添加实体
在这里插入图片描述

数据迁移:针对实体模式修改同步数据库

打开控制台程序,默认项目为netframework
执行命令:add-migration [自己命名]
例:PM> add-migration addtable[conference]
接着执行命令:update-database,等待数据同步完成,查看数据库
在这里插入图片描述

修改实体模型,数据迁移

修改上面的MainConference.cs和SubConference.cs

namespace ABPTest.MainConference
{
	public class MainConference:Entity<Guid>
    {
        [Description("主会议名")]
        public string Name { get; set; }
        [Description("创建时间")]
        public string CreateDate { get; set; }
        [Description("会议地址")]
        public string Address { get; set; }
        [Description("会议状态")]
        public int Status { get; set; }
        [Description("备注")]
        public string ReMark { get; set; }

    }
}



namespace ABPTest.SubConference
{
    public class SubConference:Entity<Guid>
    {
        [Key] //这里设置主键后,继承Entity的Id不会被设置为主键
        [Description("子会议ID")]
        public int SubConferenceId { get; set; }
        [Description("主会议Id")]
        public Guid MainConferenceId { get; set; }
        [Description("会议开始时间")]
        public DateTime StratDate { get; set; }
        [Description("会议状态")]
        public int Status { get; set; }
        [Description("子会议名")]
        public string Name { get; set; }
        [Description("创建时间")]
        public DateTime CreateDate { get; set; }
        [Description("创建人")]
        public string CreateUser { get; set; }
        [Description("备注")]
        public string ReMark { get; set; }
    }
}

修改完成后打开控制台,分别执行

  1. add-migration 自定义名称
  2. update-database

    第一步自定义的名称会在迁移日志中生成对应的cs文件,打开可以看到UP中更新的内容以及Down中降级的内容,updata-database就是执行up内容

    如果执行updata-database 提示
    ObjetNotFound:CommandNotFoundException错误,请再次执行add-migration,这时会提示已存在同样的修改文件,没事,继续执行 update-database,等待同步完成
    在这里插入图片描述
    到这里新增,修改实体,数据迁移就结束了!
YOLOv8作物病害检测实战源码 这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。 立即下载

相关推荐

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.csdn.net/mtl1994

(1)从零开始搭建基于DDD的.net core6.0后端服务-EF Core

系列文章目录 第一章 EF Core CodeFirst 环境搭建 文章目录系列文章目录前言一、EF Core CodeFirst?二、使用步骤1.创建项目2.创建实体3.创建EF Core DbContext4.创建Controller 测试查询数据总结 前言 随时微服务和DDD越来越流行,自己也想尝试着搭建一个完整的后端框架,有些人可能会说重复造轮子,其实我最开始也是这样考虑直接用ABP vnext不是很好吗? 但是从我用ABP之后的感受是,ABP还是对我这种水平比较普通的程序员来讲过框架过于重了,从现

u011321042的博客 4820

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

用ABP入门DDD

前言ABP框架一直以来都是用DDD(领域驱动设计)作为宣传点之一。但是用过ABP的人都知道,ABP并不是一个严格遵循DDD的开发框架,又或者说,它并没有完整实现DDD的所...

dotNET跨平台 2790

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

DDD Code First 迁移数据实现EF CORE的软删除,值对象迁移配置

感谢Jeffcky大佬的博客: EntityFramework Core 2.0全局过滤 (HasQueryFilter) https://www.cnblogs.com/CreateMyself/p/8491058.html 什么是值对象 没有唯一的标识,固定不变的,表示一个具体的概念,用来描述一个东西的特征,代表是什么,使用时直接添加或替换,值对象在迁移时,会以字段的形式迁移到数据库中 软...

weixin_30847939的博客 192

gdb对dwarf调试信息的解析和使用

gdb的对dwarf的调试信息的解析到使用的过程分析

JS072110的专栏 9568

C# ABP Entity 使用自定义主键

设置Id为long类型 public class DVUser : Entity&lt;long&gt;, IHasCreationTime { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)]//Set id auto increase public override...

面朝大海,春暖花开 5816

Vivado固化程序与Flash型号添加实战指南

本文详细介绍了Vivado程序固化到Flash芯片的完整流程,包括基础操作、Flash型号添加方法及疑难问题排查。针对Vivado官方支持列表缺失的Flash型号,提供了手动添加配置的详细步骤和参数说明,并分享了高级技巧与安全操作建议,帮助开发者高效完成FPGA程序固化。

weixin_29291573的博客 566

Python小白也能玩转迅投QMT量化交易?手把手教你从安装到第一个策略

本文为零基础Python用户提供了上手迅投QMT量化交易平台的完整指南。从Python 3.6环境配置、QMT客户端获取安装,到核心概念讲解,并手把手教你编写并回测一个经典的双均线交易策略,帮助初学者快速迈出量化交易的第一步。

weixin_29103191的博客 763

ABP入门系列(2)——领域层创建实体

ABP入门系列目录——学习Abp框架之实操演练 这一节我们主要和领域层打交道。首先我们要对ABP的体系结构以及从模板创建的解决方案进行一一对应。网上有代码生成器去简化我们这一步的任务,但是不建议初学者去使用。 一、首先来看看ABP体系结构 领域层就是业务层,是一个项目的核心,所有业务规则都应该在领域层实现。 实体(Entity): 实体代表业务领域的数据和操作,在实践中,通过用来映射成数据库表。

圣杰 4541

【Ultrascale+ MPSOC学习记录】6、从eMMC启动翻车

因为MPSOC还有一种启动模式是eMMC,接下来咱就实现从eMMC启动。

ryo891012的博客 474

ABP-实体的创建

首先配置好下载好的ABP框架后(详细看上一遍) 前言: 我们先不要急配置实体,首先得到一个接口 我们在应用层创建一个文件夹persons(主要为来好区分,不用太乱) 然后创建一个类PersonApplicaticationService,(命名后缀为 ApplicaticationService :为什么呢?按规矩来总有好处,因为ABP框架可以根据这个后缀名进行自动的依赖注入,这都是后...

wangwengrui40的博客 2159

多模态融合相关概念

多模态图像融合

weixin_43921949的博客 7357

致远OA系统表单相关操作记录(一)

致远OA系统表单相关操作

weixin_59666050的博客 6103

结合ABP VNext来理解DDD

DDD:根据领域划分业务,领域可以无限大或者无限小,这取决于业务分析师(产品经理和技术专家) 看一下DDD的分层架构,是多层的,单向的,可以跨级访问的。那么ABP框架的架构遵循了DDD的架构思想。 每个文件的大概作用如下: ...

dongnihao的博客 957

【数据分析八步法】将模糊需求转化为可验证的分析问题

国内访问Huggingface官方源常遇网络问题,可通过切换国内镜像提升下载速度。三种配置方式:1)设置HF_ENDPOINT环境变量;2)在from_pretrained中直接指定镜像参数;3)修改本地Huggingface配置文件。常用镜像包括hf-mirror.com、阿里云ModelScope和清华镜像源。注意镜像同步延迟、私有模型限制,建议配合huggingface-cli工具使用,必要时取消代理设置。合理配置镜像源可显著改善Huggingface生态使用体验。

Mr数据杨 858

ABP框架领域层

领域层 •实体 •仓储 •领域服务 •工作单元(下期) •领域事件(事件总线)(下期) •实体是DDD(领域驱动设计)的核心概念之一。 •Eirc Evans是这样描述的实体的:“它根本上不是通过属性定义的,而是通过一系列连续性(continuity)和标识(identity)定义的”。 •因此,实体都有Id属性并且都存储到数据库中。 •一个实体一般会映射到数据库的一张表。 在ABP中,实体派生自Entity类,Entity默认是int(int32) 对仓储的定义: •位

https://github.com/conanl5566 890

lammps后处理:堆垛层错和孪晶的数量统计

python调用ovito包可以免费实现ovito pro版本的功能,不需要安装ovito pro软件,如统计位错线长度、CNA结构、键角分布等,如需深入学习,可考虑报名python ovito后处理课程,或lammps一对一课程。lammps金属变形模拟中,可能会产生堆垛层错或者孪晶等结构,但是ovito免费版本无法统计这些结构的数量。使用python和ovito软件包,则可以方便的统计出这些结构的数量。大家好,我是小马老师。

lammps_jiayou的博客 466

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

5.基于Abp的DDD框架

愿你出走半生,归来仍是少年! 上一文讲到了Abp的模块化以及自行创建一个类库后如何简单的改造形成一个模块。由于在上一文后长时间未更新此专栏,先阶段Abp VNext 框架版本已更新到了5.2.1。 在具备这个基础知识后,我们可以着手搭建自己的基于Abp的DDD的简单框架,整体结构如下: .Domain.Shared:包含项目的全局常量、枚举和其他对象。 .Domain:包含项目的实体、聚合根、领域服务、值类型、仓储接口等。 .Application.C...

我就是那个帕吉 550

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ABP 数据迁移

我主要是在项目部署的时候、当添加一个租户的时候、那么租户是有一个单独的数据库。而我的并没有用多租户单数据库。 因此我的模块里面有一个领域事件 当租户添加时将生前表生成到对应的数据库中。如果那位网友有更好的方式请留言回复。 /// &lt;summary&gt; /// 当多租户信息添加时 /// 更新并且添加本地数据文件 /// &lt;/summary&g...

weixin_34224941的博客 734

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

基于DDD的.NET开发框架 - ABP分层设计

返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。 ABP的官方网站:http://www.aspnetboilerplate.com ABP官方文档:http://www.a...

weixin_33755557的博客 924

ABP入门教程(二)添加一个实体和服务

在领域层(Core)添加一个实体 [Table("Department")] public class Department : FullAuditedEntity { public string Code { get; set; } public int Name { get; set; } } 在基础层(EntityFrameworkCore)的类AbpDemoDbContext添加数据集 public class Core3De

包子大叔的笔记 1844

ABP 重写主键ID

[Column("你那表的源主键名")] publicoverrideleixingId{get;set;} 转载于:https://www.cnblogs.com/lkd3063601/p/5680082.html

weixin_34405557的博客 1831
上一篇: [Practice Note] 1.Abp入门:模板下载,配置数据库运行
下一篇: [Practice Note] 3.Abp入门:Dto与实体模型的映射-AutoMapper
Gen??
博客等级 码龄7年 24粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值