using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using StopShopping.EF.Models; namespace StopShopping.EF; public partial class StopShoppingContext : DbContext { public StopShoppingContext(DbContextOptions options) : base(options) { } public virtual DbSet
Addresses { get; set; } public virtual DbSet Administrators { get; set; } public virtual DbSet Categories { get; set; } public virtual DbSet Districts { get; set; } public virtual DbSet Logistics { get; set; } public virtual DbSet Messages { get; set; } public virtual DbSet Notices { get; set; } public virtual DbSet OperateLogs { get; set; } public virtual DbSet Products { get; set; } public virtual DbSet RefreshTokens { get; set; } public virtual DbSet Replies { get; set; } public virtual DbSet Requests { get; set; } public virtual DbSet Users { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity
(entity => { entity.HasKey(e => e.Id).HasName("address_pkey"); entity.ToTable("address", tb => tb.HasComment("收货地址")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Default) .HasComment("是否默认地址") .HasColumnName("default"); entity.Property(e => e.Detail) .HasMaxLength(200) .HasComment("详细地址") .HasColumnName("detail"); entity.Property(e => e.DistrictLevel1Id) .HasComment("行政区域id,表示省/直辖市") .HasColumnName("district_level1_id"); entity.Property(e => e.DistrictLevel2Id) .HasComment("行政区域id,表示市/直辖市为空") .HasColumnName("district_level2_id"); entity.Property(e => e.DistrictLevel3Id) .HasComment("行政区域id,表示区") .HasColumnName("district_level3_id"); entity.Property(e => e.DistrictLevel4Id) .HasComment("行政区域id,表示街道/镇") .HasColumnName("district_level4_id"); entity.Property(e => e.Name) .HasMaxLength(20) .HasComment("收货人地址") .HasColumnName("name"); entity.Property(e => e.Tag) .HasMaxLength(20) .HasComment("自定义标签:学校、家等") .HasColumnName("tag"); entity.Property(e => e.Telephone) .HasMaxLength(20) .HasComment("联系电话") .HasColumnName("telephone"); entity.Property(e => e.UserId) .HasComment("用户表id") .HasColumnName("user_id"); entity.HasOne(d => d.User).WithMany(p => p.Addresses) .HasForeignKey(d => d.UserId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_useraddress"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("administrator_pkey"); entity.ToTable("administrator", tb => tb.HasComment("管理员")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Account) .HasMaxLength(20) .HasComment("登录账号") .HasColumnName("account"); entity.Property(e => e.CreateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("创建时间") .HasColumnType("timestamp without time zone") .HasColumnName("create_time"); entity.Property(e => e.LastLoginTime) .HasComment("最后登录时间") .HasColumnType("timestamp without time zone") .HasColumnName("last_login_time"); entity.Property(e => e.NickName) .HasMaxLength(50) .HasComment("昵称") .HasColumnName("nick_name"); entity.Property(e => e.Password) .HasMaxLength(128) .HasComment("登录密码(已加密)") .HasColumnName("password"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("category_pkey"); entity.ToTable("category", tb => tb.HasComment("商品分类")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Deleted) .HasComment("软删除标识") .HasColumnName("deleted"); entity.Property(e => e.Level) .HasComment("层级,从1开始") .HasColumnName("level"); entity.Property(e => e.Logo) .HasMaxLength(50) .HasComment("logo图片名,后台生成地址") .HasColumnName("logo"); entity.Property(e => e.Name) .HasMaxLength(50) .HasComment("名称") .HasColumnName("name"); entity.Property(e => e.Order) .HasComment("层级中序号") .HasColumnName("order"); entity.Property(e => e.ParentId) .HasComment("父级id,顶级为0") .HasColumnName("parent_id"); entity.Property(e => e.Path) .HasMaxLength(50) .HasComment("id路径枚举:/1/2/3/") .HasColumnName("path"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("district_pkey"); entity.ToTable("district", tb => tb.HasComment("行政区划")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Code) .HasMaxLength(10) .HasComment("编码") .HasColumnName("code"); entity.Property(e => e.FullName) .HasMaxLength(100) .HasComment("全称") .HasColumnName("full_name"); entity.Property(e => e.Latitude) .HasMaxLength(20) .HasComment("经度") .HasColumnName("latitude"); entity.Property(e => e.Level) .HasComment("层级:1-省/直辖市,2-市/直辖市无,3-区,4-街道") .HasColumnName("level"); entity.Property(e => e.Longitude) .HasMaxLength(20) .HasComment("纬度") .HasColumnName("longitude"); entity.Property(e => e.Name) .HasMaxLength(20) .HasComment("简称") .HasColumnName("name"); entity.Property(e => e.Order) .HasComment("层级中序号") .HasColumnName("order"); entity.Property(e => e.ParentId) .HasComment("父级id,顶级时为0") .HasColumnName("parent_id"); entity.Property(e => e.Pinyin) .HasMaxLength(200) .HasComment("名称拼音") .HasColumnName("pinyin"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("logistics_pkey"); entity.ToTable("logistics", tb => tb.HasComment("物流")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.ArrivalTime) .HasComment("到达时间") .HasColumnType("timestamp without time zone") .HasColumnName("arrival_time"); entity.Property(e => e.Company) .HasMaxLength(30) .HasComment("快递公司") .HasColumnName("company"); entity.Property(e => e.Context) .HasMaxLength(200) .HasComment("详情") .HasColumnName("context"); entity.Property(e => e.CreateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("入库时间") .HasColumnType("timestamp without time zone") .HasColumnName("create_time"); entity.Property(e => e.Location) .HasMaxLength(100) .HasComment("到达地点") .HasColumnName("location"); entity.Property(e => e.OrderNo) .HasMaxLength(20) .HasComment("快递单号") .HasColumnName("order_no"); entity.Property(e => e.RequestId) .HasComment("需求id") .HasColumnName("request_id"); entity.Property(e => e.Status) .HasComment("物流状态:1-揽收,0-在途,5-派件,6-退回,4-退签,3-签收,2-疑难,7-转投,8。。。-清关") .HasColumnName("status"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("message_pkey"); entity.ToTable("message", tb => tb.HasComment("用户消息")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Content) .HasComment("内容") .HasColumnName("content"); entity.Property(e => e.FromUserId) .HasComment("发出用户id") .HasColumnName("from_user_id"); entity.Property(e => e.Read) .HasComment("是否已读") .HasColumnName("read"); entity.Property(e => e.Recalled) .HasComment("是否已撤回") .HasColumnName("recalled"); entity.Property(e => e.SentTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("发出时间") .HasColumnType("timestamp without time zone") .HasColumnName("sent_time"); entity.Property(e => e.ToUserId) .HasComment("接收用户id") .HasColumnName("to_user_id"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("notice_pkey"); entity.ToTable("notice", tb => tb.HasComment("系统通知")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Content) .HasComment("内容") .HasColumnName("content"); entity.Property(e => e.PublishTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("发布时间") .HasColumnType("timestamp without time zone") .HasColumnName("publish_time"); entity.Property(e => e.Verified) .HasComment("是否已审核") .HasColumnName("verified"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("operate_log_pkey"); entity.ToTable("operate_log", tb => tb.HasComment("操作日志")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.CreateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("入库时间") .HasColumnType("timestamp without time zone") .HasColumnName("create_time"); entity.Property(e => e.Description) .HasMaxLength(500) .HasComment("操作描述") .HasColumnName("description"); entity.Property(e => e.OperateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("操作时间") .HasColumnType("timestamp without time zone") .HasColumnName("operate_time"); entity.Property(e => e.OperateType) .HasMaxLength(1) .HasComment("操作类型:c-创建,u-修改,d-删除") .HasColumnName("operate_type"); entity.Property(e => e.OperaterId) .HasComment("管理员id") .HasColumnName("operater_id"); entity.Property(e => e.RelatedId) .HasComment("关联id,目标表主键") .HasColumnName("related_id"); entity.Property(e => e.TargetType) .HasComment("目标类型:0-行政区划,1-商品分类。。。") .HasColumnName("target_type"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("product_pkey"); entity.ToTable("product", tb => tb.HasComment("卖家商品表")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.CategoryId) .HasComment("商品分类id") .HasColumnName("category_id"); entity.Property(e => e.CreateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("添加时间") .HasColumnType("timestamp without time zone") .HasColumnName("create_time"); entity.Property(e => e.Deleted) .HasComment("软删除标识") .HasColumnName("deleted"); entity.Property(e => e.Description) .HasMaxLength(200) .HasComment("商品描述") .HasColumnName("description"); entity.Property(e => e.Detail) .HasComment("详情") .HasColumnName("detail"); entity.Property(e => e.Logo) .HasMaxLength(50) .HasComment("商品图片") .HasColumnName("logo"); entity.Property(e => e.MinimumUnit) .HasMaxLength(20) .HasComment("最小销售单元") .HasColumnName("minimum_unit"); entity.Property(e => e.Name) .HasMaxLength(100) .HasComment("名称") .HasColumnName("name"); entity.Property(e => e.SerialNo) .HasMaxLength(20) .HasComment("系统唯一编号") .HasColumnName("serial_no"); entity.Property(e => e.SoldAmount) .HasComment("已售数量") .HasColumnName("sold_amount"); entity.Property(e => e.UnitPrice) .HasPrecision(11, 2) .HasComment("单价") .HasColumnName("unit_price"); entity.Property(e => e.UserId) .HasComment("用户id") .HasColumnName("user_id"); entity.HasOne(d => d.Category).WithMany(p => p.Products) .HasForeignKey(d => d.CategoryId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_categoryproduct"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("refresh_token_pkey"); entity.ToTable("refresh_token", tb => tb.HasComment("刷新令牌")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.CreateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("创建时间") .HasColumnType("timestamp without time zone") .HasColumnName("create_time"); entity.Property(e => e.ExpiresAt) .HasComment("失效时间") .HasColumnType("timestamp without time zone") .HasColumnName("expires_at"); entity.Property(e => e.SystemRole) .HasMaxLength(1) .HasComment("系统角色:a-管理员,u-用户") .HasColumnName("system_role"); entity.Property(e => e.Token) .HasMaxLength(50) .HasComment("令牌") .HasColumnName("token"); entity.Property(e => e.UserId) .HasComment("用户/管理员id") .HasColumnName("user_id"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("reply_pkey"); entity.ToTable("reply", tb => tb.HasComment("竞标表")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Amount) .HasComment("数量") .HasColumnName("amount"); entity.Property(e => e.Memo) .HasMaxLength(200) .HasComment("留言") .HasColumnName("memo"); entity.Property(e => e.Price) .HasPrecision(11, 2) .HasComment("价格,自动计算的价格(product.unit_price * amount)之后的优惠价格") .HasColumnName("price"); entity.Property(e => e.ProductId) .HasComment("商品id") .HasColumnName("product_id"); entity.Property(e => e.Rejected) .HasComment("是否已拒绝") .HasColumnName("rejected"); entity.Property(e => e.ReplyTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("回应时间") .HasColumnType("timestamp without time zone") .HasColumnName("reply_time"); entity.Property(e => e.RequestId) .HasComment("需求id") .HasColumnName("request_id"); entity.Property(e => e.UserId) .HasComment("竞标者id") .HasColumnName("user_id"); entity.HasOne(d => d.Product).WithMany(p => p.Replies) .HasForeignKey(d => d.ProductId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_replyproduct"); entity.HasOne(d => d.Request).WithMany(p => p.Replies) .HasForeignKey(d => d.RequestId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_requestreply"); entity.HasOne(d => d.User).WithMany(p => p.Replies) .HasForeignKey(d => d.UserId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_replyuser"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("request_pkey"); entity.ToTable("request", tb => tb.HasComment("用户需求")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.CategoryId) .HasComment("商品分类id") .HasColumnName("category_id"); entity.Property(e => e.Deadline) .HasComment("截止日期") .HasColumnName("deadline"); entity.Property(e => e.Deleted) .HasComment("是否已删除") .HasColumnName("deleted"); entity.Property(e => e.Description) .HasMaxLength(1000) .HasComment("需求描述") .HasColumnName("description"); entity.Property(e => e.Name) .HasMaxLength(100) .HasComment("名称") .HasColumnName("name"); entity.Property(e => e.PublishTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("发布时间") .HasColumnType("timestamp without time zone") .HasColumnName("publish_time"); entity.Property(e => e.PublisherId) .HasComment("发布者id") .HasColumnName("publisher_id"); entity.Property(e => e.SerialNo) .HasMaxLength(20) .HasComment("需求单号,系统唯一,后台生成") .HasColumnName("serial_no"); entity.Property(e => e.Status) .HasComment("状态:0-发布,1-有竞标,2-待发货,3-待收货,4-已完成,5-已评价") .HasColumnName("status"); entity.HasOne(d => d.Category).WithMany(p => p.Requests) .HasForeignKey(d => d.CategoryId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_categoryrequest"); entity.HasOne(d => d.Publisher).WithMany(p => p.Requests) .HasForeignKey(d => d.PublisherId) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_userrequest"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("user_pkey"); entity.ToTable("user", tb => tb.HasComment("用户")); entity.Property(e => e.Id) .HasComment("主键") .UseIdentityAlwaysColumn() .HasColumnName("id"); entity.Property(e => e.Account) .HasMaxLength(20) .HasComment("登录账号") .HasColumnName("account"); entity.Property(e => e.Avatar) .HasMaxLength(50) .HasComment("头像图片名,后台生成链接") .HasColumnName("avatar"); entity.Property(e => e.CreateTime) .HasDefaultValueSql("CURRENT_TIMESTAMP") .HasComment("创建时间") .HasColumnType("timestamp without time zone") .HasColumnName("create_time"); entity.Property(e => e.CurrentRole) .HasMaxLength(1) .HasDefaultValueSql("'c'::bpchar") .HasComment("当前角色:c-买家,s-卖家") .HasColumnName("current_role"); entity.Property(e => e.LastLoginTime) .HasComment("最后登录时间") .HasColumnType("timestamp without time zone") .HasColumnName("last_login_time"); entity.Property(e => e.NickName) .HasMaxLength(50) .HasComment("昵称") .HasColumnName("nick_name"); entity.Property(e => e.Password) .HasMaxLength(128) .HasComment("密码(已加密)") .HasColumnName("password"); entity.Property(e => e.Telephone) .HasMaxLength(20) .HasComment("电话") .HasColumnName("telephone"); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }