using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Pomelo.EntityFrameworkCore.MySql.Scaffolding.Internal; namespace IM_API.Models; public partial class IMDbContext : DbContext { public IMDbContext() { } public IMDbContext(DbContextOptions options) : base(options) { } public virtual DbSet Admins { get; set; } public virtual DbSet Conversations { get; set; } public virtual DbSet Devices { get; set; } public virtual DbSet Files { get; set; } public virtual DbSet Friends { get; set; } public virtual DbSet Friendrequests { get; set; } public virtual DbSet Groups { get; set; } public virtual DbSet Groupinvites { get; set; } public virtual DbSet Groupmembers { get; set; } public virtual DbSet Grouprequests { get; set; } public virtual DbSet LoginLogs { get; set; } public virtual DbSet Messages { get; set; } public virtual DbSet Notifications { get; set; } public virtual DbSet Permissions { get; set; } public virtual DbSet Permissionaroles { get; set; } public virtual DbSet Roles { get; set; } public virtual DbSet Users { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) #warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263. => optionsBuilder.UseMySql("server=192.168.5.100;port=3306;database=IM;user=root;password=768788Dyw", Microsoft.EntityFrameworkCore.ServerVersion.Parse("5.7.44-mysql")); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder .UseCollation("latin1_swedish_ci") .HasCharSet("latin1"); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("创建时间 "); entity.Property(e => e.Password).HasComment("密码"); entity.Property(e => e.RoleId).HasComment("角色"); entity.Property(e => e.State).HasComment("状态(0:正常,2:封禁) "); entity.Property(e => e.Updated).HasComment("更新时间 "); entity.Property(e => e.Username).HasComment("用户名"); entity.HasOne(d => d.Role).WithMany(p => p.Admins) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("admins_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.LastMessageId).HasComment("最后一条消息ID "); entity.Property(e => e.MsgType).HasComment("消息类型(同Messages.MsgType) "); entity.Property(e => e.Targetid).HasComment("对方ID(群聊为群聊ID,单聊为单聊ID) "); entity.Property(e => e.UnreadCount).HasComment("未读消息数 "); entity.Property(e => e.Userid).HasComment("用户"); entity.HasOne(d => d.LastMessage).WithMany(p => p.Conversations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("conversations_ibfk_2"); entity.HasOne(d => d.User).WithMany(p => p.Conversations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("conversations_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Dtype).HasComment("设备类型(\r\n0:Android,1:Ios,2:PC,3:Pad,4:未知)"); entity.Property(e => e.LastLogin).HasComment("最后一次登录 "); entity.Property(e => e.Userid).HasComment("设备所属用户 "); entity.HasOne(d => d.User).WithMany(p => p.Devices) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("devices_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("创建时间 "); entity.Property(e => e.Messageld).HasComment("关联消息ID "); entity.Property(e => e.Name).HasComment("文件名 "); entity.Property(e => e.Size).HasComment("文件大小(单位:KB) "); entity.Property(e => e.Type).HasComment("文件类型 "); entity.Property(e => e.Url).HasComment("文件储存URL "); entity.HasOne(d => d.MessageldNavigation).WithMany(p => p.Files) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("files_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("好友关系创建时间"); entity.Property(e => e.Friendld).HasComment("用户2ID"); entity.Property(e => e.Status).HasComment("当前好友关系状态\r\n(0:待通过,1:已添加,2:已拒绝,3:已拉黑)"); entity.Property(e => e.Userld).HasComment("用户ID"); entity.HasOne(d => d.FriendldNavigation).WithMany(p => p.FriendFriendldNavigations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("用户2id"); entity.HasOne(d => d.UserldNavigation).WithMany(p => p.FriendUserldNavigations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("用户id"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("申请时间 "); entity.Property(e => e.Description).HasComment("申请附言 "); entity.Property(e => e.RequestUser).HasComment("申请人 "); entity.Property(e => e.ResponseUser).HasComment("被申请人 "); entity.Property(e => e.State).HasComment("申请状态(0:待通过,1:拒绝,2:同意,3:拉黑) "); entity.HasOne(d => d.RequestUserNavigation).WithMany(p => p.FriendrequestRequestUserNavigations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("friendrequest_ibfk_1"); entity.HasOne(d => d.ResponseUserNavigation).WithMany(p => p.FriendrequestResponseUserNavigations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("friendrequest_ibfk_2"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.AllMembersBanned).HasComment("全员禁言(0允许发言,2全员禁言)"); entity.Property(e => e.Announcement).HasComment("群公告"); entity.Property(e => e.Auhority).HasComment("群权限\r\n(0:需管理员同意,1:任意人可加群,2:不允许任何人加入)"); entity.Property(e => e.Created).HasComment("群聊创建时间"); entity.Property(e => e.GroupMaster).HasComment("群主"); entity.Property(e => e.Name).HasComment("群聊名称"); entity.Property(e => e.Status).HasComment("群聊状态\r\n(1:正常,2:封禁)"); entity.HasOne(d => d.GroupMasterNavigation).WithMany(p => p.Groups) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("groups_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("创建时间"); entity.Property(e => e.GroupId).HasComment("群聊编号"); entity.Property(e => e.InviteUser).HasComment("邀请用户"); entity.Property(e => e.InvitedUser).HasComment("被邀请用户"); entity.Property(e => e.State).HasComment("当前状态(0:待被邀请人同意\r\n1:被邀请人已同意)"); entity.HasOne(d => d.Group).WithMany(p => p.Groupinvites) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("groupinvite_ibfk_2"); entity.HasOne(d => d.InviteUserNavigation).WithMany(p => p.GroupinviteInviteUserNavigations).HasConstraintName("groupinvite_ibfk_1"); entity.HasOne(d => d.InvitedUserNavigation).WithMany(p => p.GroupinviteInvitedUserNavigations).HasConstraintName("groupinvite_ibfk_3"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created) .HasDefaultValueSql("'1970-01-01 00:00:00'") .HasComment("加入群聊时间"); entity.Property(e => e.Groupld).HasComment("群聊编号"); entity.Property(e => e.Role).HasComment("成员角色(0:普通成员,1:管理员,2:群主)"); entity.Property(e => e.Userld).HasComment("用户编号"); entity.HasOne(d => d.GroupldNavigation).WithMany(p => p.GroupmemberGroupldNavigations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("groupmember_ibfk_2"); entity.HasOne(d => d.UserldNavigation).WithMany(p => p.GroupmemberUserldNavigations) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("groupmember_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("创建时间"); entity.Property(e => e.Description).HasComment("入群附言"); entity.Property(e => e.GroupId).HasComment("群聊编号\r\n"); entity.Property(e => e.State).HasComment("申请状态(0:待管理员同意,1:已拒绝,2:已同意)"); entity.Property(e => e.UserId).HasComment("申请人 "); entity.HasOne(d => d.Group).WithMany(p => p.Grouprequests) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("grouprequest_ibfk_1"); entity.HasOne(d => d.GroupNavigation).WithMany(p => p.Grouprequests) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("grouprequest_ibfk_2"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Dtype).HasComment("设备类型(通Devices/DType) "); entity.Property(e => e.Logined).HasComment("登录时间 "); entity.Property(e => e.State).HasComment("登录状态(0:登陆成功,1:未验证,2:已被拒绝) "); entity.Property(e => e.Userld).HasComment("登录用户 "); entity.HasOne(d => d.UserldNavigation).WithMany(p => p.LoginLogs) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("login_log_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.ChatType).HasComment("聊天类型\r\n(0:私聊,1:群聊)"); entity.Property(e => e.Content).HasComment("消息内容 "); entity.Property(e => e.Created).HasComment("发送时间 "); entity.Property(e => e.MsgType).HasComment("消息类型\r\n(0:文本,1:图片,2:语音,3:视频,4:文件,5:语音聊天,6:视频聊天)"); entity.Property(e => e.Recipient).HasComment("接收者(私聊为用户ID,群聊为群聊ID) "); entity.Property(e => e.Sender).HasComment("发送者 "); entity.Property(e => e.State).HasComment("消息状态(0:已发送,1:已撤回) "); entity.HasOne(d => d.SenderNavigation).WithMany(p => p.Messages) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("messages_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Content).HasComment("通知内容"); entity.Property(e => e.Created).HasComment("创建时间"); entity.Property(e => e.Ntype).HasComment("通知类型(0:文本)"); entity.Property(e => e.Title).HasComment("通知标题"); entity.Property(e => e.Userld).HasComment("接收人(为空为全体通知)"); entity.HasOne(d => d.UserldNavigation).WithMany(p => p.Notifications) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("notifications_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Code).HasComment("权限编码 "); entity.Property(e => e.Created).HasComment("创建时间 "); entity.Property(e => e.Name).HasComment("权限名称 "); entity.Property(e => e.Ptype).HasComment("权限类型(0:增,1:删,2:改,3:查) "); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Id).ValueGeneratedNever(); entity.Property(e => e.Permissionld).HasComment("权限 "); entity.Property(e => e.Roleld).HasComment("角色 "); entity.HasOne(d => d.PermissionldNavigation).WithMany(p => p.Permissionaroles) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("permissionarole_ibfk_2"); entity.HasOne(d => d.RoleldNavigation).WithMany(p => p.Permissionaroles) .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("permissionarole_ibfk_1"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created).HasComment("创建时间 "); entity.Property(e => e.Description).HasComment("角色描述 "); entity.Property(e => e.Name).HasComment("角色名称 "); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("PRIMARY"); entity.Property(e => e.Created) .HasDefaultValueSql("'1970-01-01 00:00:00'") .HasComment("创建时间"); entity.Property(e => e.IsDeleted).HasComment("软删除标识\r\n0:账号正常\r\n1:账号已删除"); entity.Property(e => e.NickName).HasComment("用户昵称"); entity.Property(e => e.OlineStatus).HasComment("用户在线状态\r\n0(默认):不在线\r\n1:在线"); entity.Property(e => e.Password).HasComment("密码"); entity.Property(e => e.Status) .HasDefaultValueSql("'1'") .HasComment("账户状态\r\n(0:未激活,1:正常,2:封禁)"); entity.Property(e => e.Updated).HasComment("修改时间"); entity.Property(e => e.Username).HasComment("唯一用户名"); }); OnModelCreatingPartial(modelBuilder); } partial void OnModelCreatingPartial(ModelBuilder modelBuilder); }