IM/backend/IM_API/Models/IMDbContext.cs

344 lines
16 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<IMDbContext> options)
: base(options)
{
}
public virtual DbSet<Admin> Admins { get; set; }
public virtual DbSet<Conversation> Conversations { get; set; }
public virtual DbSet<Device> Devices { get; set; }
public virtual DbSet<File> Files { get; set; }
public virtual DbSet<Friend> Friends { get; set; }
public virtual DbSet<Friendrequest> Friendrequests { get; set; }
public virtual DbSet<Group> Groups { get; set; }
public virtual DbSet<Groupinvite> Groupinvites { get; set; }
public virtual DbSet<Groupmember> Groupmembers { get; set; }
public virtual DbSet<Grouprequest> Grouprequests { get; set; }
public virtual DbSet<LoginLog> LoginLogs { get; set; }
public virtual DbSet<Message> Messages { get; set; }
public virtual DbSet<Notification> Notifications { get; set; }
public virtual DbSet<Permission> Permissions { get; set; }
public virtual DbSet<Permissionarole> Permissionaroles { get; set; }
public virtual DbSet<Role> Roles { get; set; }
public virtual DbSet<User> 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<Admin>(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<Conversation>(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<Device>(entity =>
{
entity.HasKey(e => e.Id).HasName("PRIMARY");
entity.Property(e => e.Dtype).HasComment("设备类型(\r\n0:Android,1:Ios,2:PC,3Pad,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<File>(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<Friend>(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\n0待通过,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<Friendrequest>(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<Group>(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\n0需管理员同意,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<Groupinvite>(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<Groupmember>(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<Grouprequest>(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<LoginLog>(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<Message>(entity =>
{
entity.HasKey(e => e.Id).HasName("PRIMARY");
entity.Property(e => e.ChatType).HasComment("聊天类型\r\n0私聊,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<Notification>(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<Permission>(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<Permissionarole>(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<Role>(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<User>(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);
}