AbpVnext系列四 用户表设计

news/2024/10/5 8:35:07/文章来源:https://www.cnblogs.com/choii/p/18264286

一、一个系统中,最开始要设计的是用户表,先简单的设计如下图。

 

二、类的实体

/// <summary>/// /// </summary>/// <param name="id"></param>public User(long id){Id = id;Status = NormalLockedStatus.Normal;}/// <summary>/// 租户Id/// </summary>public virtual Guid? TenantId { get; set; }/// <summary>/// 登录账号/// </summary>public virtual string LoginName { get; set; }/// <summary>/// 昵称/姓名/// </summary>public virtual string Nickname { get; set; }/// <summary>/// 密码/// </summary>public virtual string Password { get; set; }/// <summary>/// 密码盐/// </summary>public virtual string PwdSalt { get; set; }/// <summary>/// 员工号/// </summary>public virtual string EmployeeID { get; set; }/// <summary>/// 账号类型: ( 1: 超级管理员 2:平台管理员,3:租户管理员)/// </summary>public virtual UserType UserType { get; set; }/// <summary>///  备注/// </summary>public virtual string Memo { get; set; }/// <summary>/// 状态(1-正常,2-锁定)/// </summary>public virtual NormalLockedStatus Status { get; set; }
View Code

三、在EFcore项目中的AidenAdminDbContextModelCreatingExtensions文件下添加表的属性

  public static void ConfigureAidenAdmin(this ModelBuilder builder){Check.NotNull(builder, nameof(builder));builder.Entity<User>(b =>{b.ConfigureFullAuditedAggregateRoot();b.ToTable(AidenAdminDbProperties.DbTablePrefix + "User", AidenAdminDbProperties.DbSchema);b.ConfigureConcurrencyStamp();b.ConfigureExtraProperties();b.ConfigureFullAuditedAggregateRoot();b.Property(x => x.Id).IsRequired();b.Property(x => x.UserType).IsRequired().HasDefaultValue(UserType.Tenant);b.Property(x => x.Nickname).IsRequired().HasMaxLength(32);b.Property(x => x.Password).IsRequired().HasMaxLength(64);b.Property(x => x.LoginName).HasMaxLength(64);b.Property(x => x.PwdSalt).HasMaxLength(64);b.HasIndex(q => q.LoginName);b.HasIndex(q => q.EmployeeId);});}

四、执行命令更新到数据库

add-migration  名称update-database 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oop第7~8次作业总结(第三次Blog)

oop第7~8次作业总结(第三次Blog) 一、前言 二、设计与分析 三、踩坑心得 四、改进建议 五、总结 一、前言 1、第七次作业 第六次作业只有一道题,与上次相比,本次迭代考虑多个并联电路串联在一起的情况,考虑一条串联电路中包含其他串联电路的情况。增加了互斥开关和受控窗帘…

Profinet IO从站数据 转EtherCAT项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 使用PRONETA软件获取PROFINET IO从站的配置信息 2 5 设置网关采集PROFINETIO从站设备数据 5 6 启动ETHERCAT从站转发采集的数据 8 7 选择槽号和数据地址 9 8 选择子槽号 11 9 案例总结 12 1 案例说明设置网关采集Profi…

题目集7~8总结性blog

前言在我看来,题目集7~8知识点在于类的使用,方法的调用,通过不同类的ArrayList的使用将所有元件信息录入,通过连接方式将其变成一条电路,从而进行计算和使用,题量不大,只有一道题,在精不在多,难度适中,可以接受并且能够编程写出,完成功能的实现。设计与分析题目集七…

【日记】现在的孩子真是不怕大人呢(1975 字)

正文时间太晚了,而且想写的内容有点多,就不写在日记本上了。不过说内容多,其实也只有两件事情。其他的就一笔带过吧。一件关于灵,另一件事关于遇见的孩子。首先说说工作,今天真的如昨天预料的那样,特别忙。开一个户,上午就没了。倒不是因为有多难,也不是因为只有我一个…

OOP7-8次作业

OOP7-8次作业 一.前言: 1.第七次PTA: 根据之前的内容在,之前的内容上进行修改和扩增。 ①题目理解: 1.增加了互斥开关,互斥开关的难点在于他可以转换每条路的通路和断路,而且你切换的两个引脚他的电阻也是不一样的,这就增加了你获得电路电阻的难度。 2.对于在电路的获得…

修复Win10上ListView样式不正确的问题

在Windows 11下,使用WinUI2.6以上版本的ListView长这样:然而到了Win10上,尽管其他控件的样式没有改变,但ListViewItem变成了默认样式(初代Fluent) 最重大的问题是,Win10上的HorizontalAlignment未被设置成Stretch,可能造成严重的UI错位(隔壁livelyweather也有这个问题…

Asp.Net Core 使用IBrowserFile完成图片上传

Asp.Net Core 使用IBrowserFile完成图片上传 写在开头 前几天弄自己的项目时遇到的问题,发现了asp.net core 新增的IBrowserFile接口,事实上他可以满足大多数文件的上传,此处我仅以图片作为示例。 实现 添加一个帮助类FileHelper,遵循一种规范,即将静态文件资源存放至wwwro…

Transformer 能代替图神经网络吗?

当Transformer模型发布时,它彻底革新了机器翻译领域。虽然最初是为特定任务设计的,但这种革命性的架构显示出它可以轻松适应不同的任务。随后成为了Transformer一个标准,甚至用于它最初设计之外的数据(如图像和其他序列数据)。 然后人们也开始优化和寻找替代方案,主要是为…

从零开始的 DP 学习记录

为了补上我dp的短板(其实说真的dp约等于没学过,板都没有的那种),也为了以后复习dp不会再忘记dp怎么写,dp的各种思想是怎么来的,从零开始学习 dp ,并记录在此博客。 因为要补的东西也挺多的,就不多开文章了,直接在这里记录了。 当然也会记录日常生活 大概是首发于洛谷博…

【Linux系列】 Bash 重定向中 file 21 和 21 file 的区别

一、 写在前面 在 Bash 脚本和命令行操作中,输出重定向是一项基本且强大的功能。 它允许用户控制命令的输出流,将数据从一个地方转移到另一个地方,实现更加灵活和高效的工作流程。 本文旨在记录 Bash 中几种常见的输出重定向方法,包括:> file>file 2>&1 vs 2&…

c#实现定时从外部服务器获取文件并查重(MD5)

需求:需要定时去请求外部服务器的文件,看看每天是否有新的文件上传,如果有就下载到本地服务器,并记录数据。原来的文件重命名。 方案:这里通过文件的MD5和其他条件来判断文件是否存在。因为文件量过大,所以批量下载的时候有时候会出现部分文件没能下载成功,但是数据入库…

Qt开发笔记:Qt3D三维开发笔记(一):Qt3D三维开发基础概念介绍

前言Qt3D是qt的三维,Q3D是Qt的三维图表,Qt3D是qt的自带的三维开发框架,Qt的3D开发分为opengl、Qt3D然后是第三方三维框架(OSG、vtk等等)多个技术流。  本篇描述Qt3D的基础概念,有一个基本知识。 个人经验,仅供参考(持续更新)通过深入研究和实践,从中长期看采取第三方…