// using System; using IM_API.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace IM_API.Migrations { [DbContext(typeof(ImContext))] [Migration("20260315134653_update-user")] partial class updateuser { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .UseCollation("latin1_swedish_ci") .HasAnnotation("ProductVersion", "8.0.21") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.HasCharSet(modelBuilder, "latin1"); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("IM_API.Models.Admin", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime") .HasComment("创建时间 "); b.Property("Password") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("密码"); b.Property("RoleId") .HasColumnType("int(11)") .HasComment("角色"); b.Property("State") .HasColumnType("tinyint(4)") .HasComment("状态(0:正常,2:封禁) "); b.Property("Updated") .HasColumnType("datetime") .HasComment("更新时间 "); b.Property("Username") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("用户名"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "RoleId" }, "RoleId"); b.ToTable("admins", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Conversation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ChatType") .HasColumnType("int(11)"); b.Property("LastMessage") .IsRequired() .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("最后一条最新消息"); b.Property("LastMessageTime") .HasColumnType("datetime") .HasComment("最后一条消息发送时间"); b.Property("LastReadSequenceId") .HasColumnType("int(11)") .HasColumnName("lastReadMessageId") .HasComment("最后一条未读消息ID "); b.Property("MessageId") .HasColumnType("int(11)"); b.Property("StreamKey") .IsRequired() .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("消息推送唯一标识符"); b.Property("TargetId") .HasColumnType("int(11)") .HasComment("对方ID(群聊为群聊ID,单聊为单聊ID) "); b.Property("UnreadCount") .HasColumnType("int(11)") .HasComment("未读消息数 "); b.Property("UserId") .HasColumnType("int(11)") .HasComment("用户"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex("MessageId"); b.HasIndex(new[] { "LastReadSequenceId" }, "LastReadSequenceId"); b.HasIndex(new[] { "UserId" }, "Userid"); b.ToTable("conversations", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Device", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Dtype") .HasColumnType("tinyint(4)") .HasColumnName("DType") .HasComment("设备类型(\r\n0:Android,1:Ios,2:PC,3:Pad,4:未知)"); b.Property("LastLogin") .HasColumnType("datetime") .HasComment("最后一次登录 "); b.Property("UserId") .HasColumnType("int(11)") .HasComment("设备所属用户 "); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "UserId" }, "Userid") .HasDatabaseName("Userid1"); b.ToTable("devices", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.File", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime") .HasComment("创建时间 "); b.Property("FileType") .IsRequired() .HasMaxLength(10) .HasColumnType("varchar(10)") .HasComment("文件类型 "); b.Property("MessageId") .HasColumnType("int(11)") .HasComment("关联消息ID "); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("文件名 "); b.Property("Size") .HasColumnType("int(11)") .HasComment("文件大小(单位:KB) "); b.Property("Url") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)") .HasColumnName("URL") .HasComment("文件储存URL "); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "MessageId" }, "Messageld"); b.ToTable("files", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Friend", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Avatar") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("好友头像"); b.Property("Created") .HasColumnType("datetime") .HasComment("好友关系创建时间"); b.Property("FriendId") .HasColumnType("int(11)") .HasComment("用户2ID"); b.Property("RemarkName") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("好友备注名"); b.Property("Status") .HasColumnType("tinyint(4)") .HasComment("当前好友关系状态\r\n(0:待通过,1:已添加,2:已拒绝,3:已拉黑)"); b.Property("UserId") .HasColumnType("int(11)") .HasComment("用户ID"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "Id" }, "ID"); b.HasIndex(new[] { "UserId", "FriendId" }, "Userld"); b.HasIndex(new[] { "FriendId" }, "用户2id"); b.ToTable("friends", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.FriendRequest", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime") .HasComment("申请时间 "); b.Property("Description") .HasColumnType("text") .HasComment("申请附言 "); b.Property("RemarkName") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("备注"); b.Property("RequestUser") .HasColumnType("int(11)") .HasComment("申请人 "); b.Property("ResponseUser") .HasColumnType("int(11)") .HasComment("被申请人 "); b.Property("State") .HasColumnType("tinyint(4)") .HasComment("申请状态(0:待通过,1:拒绝,2:同意,3:拉黑) "); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "RequestUser" }, "RequestUser"); b.HasIndex(new[] { "ResponseUser" }, "ResponseUser"); b.ToTable("friend_request", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Group", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("AllMembersBanned") .HasColumnType("tinyint(4)") .HasComment("全员禁言(0允许发言,2全员禁言)"); b.Property("Announcement") .IsRequired() .HasColumnType("text") .HasComment("群公告"); b.Property("Auhority") .HasColumnType("tinyint(4)") .HasComment("群权限\r\n(0:需管理员同意,1:任意人可加群,2:不允许任何人加入)"); b.Property("Avatar") .IsRequired() .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("群头像"); b.Property("Created") .HasColumnType("datetime") .HasComment("群聊创建时间"); b.Property("GroupMaster") .HasColumnType("int(11)") .HasComment("群主"); b.Property("LastMessage") .IsRequired() .HasColumnType("longtext"); b.Property("LastSenderName") .IsRequired() .HasColumnType("longtext"); b.Property("LastUpdateTime") .HasColumnType("datetime(6)"); b.Property("MaxSequenceId") .HasColumnType("bigint"); b.Property("Name") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("群聊名称"); b.Property("Status") .HasColumnType("tinyint(4)") .HasComment("群聊状态\r\n(1:正常,2:封禁)"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "GroupMaster" }, "GroupMaster"); b.HasIndex(new[] { "Id" }, "ID") .HasDatabaseName("ID1"); b.ToTable("groups", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.GroupMember", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime") .HasDefaultValueSql("'1970-01-01 00:00:00'") .HasComment("加入群聊时间"); b.Property("GroupId") .HasColumnType("int(11)") .HasComment("群聊编号"); b.Property("Role") .HasColumnType("tinyint(4)") .HasComment("成员角色(0:普通成员,1:管理员,2:群主)"); b.Property("UserId") .HasColumnType("int(11)") .HasComment("用户编号"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "GroupId" }, "Groupld"); b.HasIndex(new[] { "Id" }, "ID") .HasDatabaseName("ID2"); b.HasIndex(new[] { "UserId" }, "Userld") .HasDatabaseName("Userld1"); b.ToTable("group_member", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.GroupRequest", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime") .HasComment("创建时间"); b.Property("Description") .IsRequired() .HasColumnType("text") .HasComment("入群附言"); b.Property("GroupId") .HasColumnType("int(11)") .HasComment("群聊编号\r\n"); b.Property("InviteUserId") .HasColumnType("int"); b.Property("State") .HasColumnType("tinyint(4)") .HasComment("申请状态(0:待管理员同意,1:已拒绝,2:已同意)"); b.Property("UserId") .HasColumnType("int(11)") .HasComment("申请人 "); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex("UserId"); b.HasIndex(new[] { "GroupId" }, "GroupId"); b.ToTable("group_request", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.LoginLog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Dtype") .HasColumnType("tinyint(4)") .HasColumnName("DType") .HasComment("设备类型(通Devices/DType) "); b.Property("Logined") .HasColumnType("datetime") .HasComment("登录时间 "); b.Property("State") .HasColumnType("tinyint(4)") .HasComment("登录状态(0:登陆成功,1:未验证,2:已被拒绝) "); b.Property("UserId") .HasColumnType("int(11)") .HasComment("登录用户 "); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "UserId" }, "Userld") .HasDatabaseName("Userld2"); b.ToTable("login_log", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Message", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ChatType") .HasColumnType("tinyint(4)") .HasComment("聊天类型\r\n(0:私聊,1:群聊)"); b.Property("ClientMsgId") .HasColumnType("char(36)"); b.Property("Content") .IsRequired() .HasColumnType("text") .HasComment("消息内容 "); b.Property("Created") .HasColumnType("datetime") .HasComment("发送时间 "); b.Property("MsgType") .HasColumnType("tinyint(4)") .HasComment("消息类型\r\n(0:文本,1:图片,2:语音,3:视频,4:文件,5:语音聊天,6:视频聊天)"); b.Property("Recipient") .HasColumnType("int(11)") .HasComment("接收者(私聊为用户ID,群聊为群聊ID) "); b.Property("Sender") .HasColumnType("int(11)") .HasComment("发送者 "); b.Property("SequenceId") .HasColumnType("bigint"); b.Property("State") .HasColumnType("tinyint(4)") .HasComment("消息状态(0:已发送,1:已撤回) "); b.Property("StreamKey") .IsRequired() .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("消息推送唯一标识符"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex("SequenceId", "StreamKey") .IsUnique(); b.HasIndex(new[] { "Sender" }, "Sender"); b.ToTable("messages", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Notification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Content") .IsRequired() .HasColumnType("text") .HasComment("通知内容"); b.Property("Created") .HasColumnType("datetime") .HasComment("创建时间"); b.Property("Ntype") .HasColumnType("tinyint(4)") .HasColumnName("NType") .HasComment("通知类型(0:文本)"); b.Property("Title") .IsRequired() .HasMaxLength(40) .HasColumnType("varchar(40)") .HasComment("通知标题"); b.Property("UserId") .HasColumnType("int(11)") .HasComment("接收人(为空为全体通知)"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "UserId" }, "Userld") .HasDatabaseName("Userld3"); b.ToTable("notifications", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Permission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Code") .HasColumnType("int(11)") .HasComment("权限编码 "); b.Property("Created") .HasColumnType("datetime") .HasComment("创建时间 "); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("权限名称 "); b.Property("Ptype") .HasColumnType("int(11)") .HasColumnName("PType") .HasComment("权限类型(0:增,1:删,2:改,3:查) "); b.HasKey("Id") .HasName("PRIMARY"); b.ToTable("permissions", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Permissionarole", b => { b.Property("Id") .HasColumnType("int(11)") .HasColumnName("ID"); b.Property("PermissionId") .HasColumnType("int(11)") .HasComment("权限 "); b.Property("RoleId") .HasColumnType("int(11)") .HasComment("角色 "); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "PermissionId" }, "Permissionld"); b.HasIndex(new[] { "RoleId" }, "Roleld"); b.ToTable("permissionarole", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Created") .HasColumnType("datetime") .HasComment("创建时间 "); b.Property("Description") .IsRequired() .HasColumnType("text") .HasComment("角色描述 "); b.Property("Name") .IsRequired() .HasMaxLength(20) .HasColumnType("varchar(20)") .HasComment("角色名称 "); b.HasKey("Id") .HasName("PRIMARY"); b.ToTable("roles", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Upload.UploadTask", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("ChunkSize") .HasColumnType("int"); b.Property("ContentType") .IsRequired() .HasColumnType("longtext"); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("FileHash") .IsRequired() .HasColumnType("longtext"); b.Property("FileName") .IsRequired() .HasColumnType("longtext"); b.Property("FileSize") .HasColumnType("bigint"); b.Property("ObjectName") .IsRequired() .HasColumnType("longtext"); b.Property("ProviderUploadId") .HasColumnType("longtext"); b.Property("Status") .HasColumnType("int"); b.Property("StorageProvider") .IsRequired() .HasColumnType("longtext"); b.Property("TotalChunks") .HasColumnType("int"); b.Property("Url") .HasColumnType("longtext"); b.HasKey("Id") .HasName("PRIMARY"); b.ToTable("upload_tasks", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int(11)") .HasColumnName("ID"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Avatar") .HasMaxLength(255) .HasColumnType("varchar(255)") .HasComment("用户头像链接"); b.Property("Created") .ValueGeneratedOnAdd() .HasColumnType("datetime") .HasDefaultValueSql("'1970-01-01 00:00:00'") .HasComment("创建时间"); b.Property("Description") .HasColumnType("longtext"); b.Property("Email") .HasColumnType("longtext"); b.Property("IsDeleted") .HasColumnType("tinyint(4)") .HasComment("软删除标识\r\n0:账号正常\r\n1:账号已删除"); b.Property("NickName") .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("用户昵称"); b.Property("OnlineStatus") .HasColumnType("tinyint(4)") .HasComment("用户在线状态\r\n0(默认):不在线\r\n1:在线"); b.Property("Password") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("密码"); b.Property("Region") .HasColumnType("longtext"); b.Property("Status") .ValueGeneratedOnAdd() .HasColumnType("tinyint(4)") .HasDefaultValueSql("'1'") .HasComment("账户状态\r\n(0:未激活,1:正常,2:封禁)"); b.Property("Updated") .HasColumnType("datetime") .HasComment("修改时间"); b.Property("Username") .IsRequired() .HasMaxLength(50) .HasColumnType("varchar(50)") .HasComment("唯一用户名"); b.HasKey("Id") .HasName("PRIMARY"); b.HasIndex(new[] { "Id" }, "ID") .HasDatabaseName("ID3"); b.HasIndex(new[] { "Username" }, "Username") .IsUnique(); b.ToTable("users", (string)null); MySqlEntityTypeBuilderExtensions.HasCharSet(b, "utf8mb4"); MySqlEntityTypeBuilderExtensions.UseCollation(b, "utf8mb4_general_ci"); }); modelBuilder.Entity("IM_API.Models.Admin", b => { b.HasOne("IM_API.Models.Role", "Role") .WithMany("Admins") .HasForeignKey("RoleId") .IsRequired() .HasConstraintName("admins_ibfk_1"); b.Navigation("Role"); }); modelBuilder.Entity("IM_API.Models.Conversation", b => { b.HasOne("IM_API.Models.Message", null) .WithMany("Conversations") .HasForeignKey("MessageId"); b.HasOne("IM_API.Models.User", "User") .WithMany("Conversations") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("conversations_ibfk_1"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.Device", b => { b.HasOne("IM_API.Models.User", "User") .WithMany("Devices") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("devices_ibfk_1"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.File", b => { b.HasOne("IM_API.Models.Message", "Message") .WithMany("Files") .HasForeignKey("MessageId") .IsRequired() .HasConstraintName("files_ibfk_1"); b.Navigation("Message"); }); modelBuilder.Entity("IM_API.Models.Friend", b => { b.HasOne("IM_API.Models.User", "FriendNavigation") .WithMany("FriendFriendNavigations") .HasForeignKey("FriendId") .IsRequired() .HasConstraintName("用户2id"); b.HasOne("IM_API.Models.User", "User") .WithMany("FriendUsers") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("用户id"); b.Navigation("FriendNavigation"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.FriendRequest", b => { b.HasOne("IM_API.Models.User", "RequestUserNavigation") .WithMany("FriendRequestRequestUserNavigations") .HasForeignKey("RequestUser") .IsRequired() .HasConstraintName("friend_request_ibfk_1"); b.HasOne("IM_API.Models.User", "ResponseUserNavigation") .WithMany("FriendRequestResponseUserNavigations") .HasForeignKey("ResponseUser") .IsRequired() .HasConstraintName("friend_request_ibfk_2"); b.Navigation("RequestUserNavigation"); b.Navigation("ResponseUserNavigation"); }); modelBuilder.Entity("IM_API.Models.Group", b => { b.HasOne("IM_API.Models.User", "GroupMasterNavigation") .WithMany("Groups") .HasForeignKey("GroupMaster") .IsRequired() .HasConstraintName("groups_ibfk_1"); b.Navigation("GroupMasterNavigation"); }); modelBuilder.Entity("IM_API.Models.GroupMember", b => { b.HasOne("IM_API.Models.Group", "Group") .WithMany("GroupMembers") .HasForeignKey("GroupId") .IsRequired() .HasConstraintName("group_member_ibfk_2"); b.HasOne("IM_API.Models.User", "User") .WithMany("GroupMembers") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("group_member_ibfk_1"); b.Navigation("Group"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.GroupRequest", b => { b.HasOne("IM_API.Models.Group", "Group") .WithMany("GroupRequests") .HasForeignKey("GroupId") .IsRequired() .HasConstraintName("group_request_ibfk_1"); b.HasOne("IM_API.Models.User", "User") .WithMany("GroupRequests") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("group_request_ibfk_2"); b.Navigation("Group"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.LoginLog", b => { b.HasOne("IM_API.Models.User", "User") .WithMany("LoginLogs") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("login_log_ibfk_1"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.Message", b => { b.HasOne("IM_API.Models.User", "SenderNavigation") .WithMany("Messages") .HasForeignKey("Sender") .IsRequired() .HasConstraintName("messages_ibfk_1"); b.Navigation("SenderNavigation"); }); modelBuilder.Entity("IM_API.Models.Notification", b => { b.HasOne("IM_API.Models.User", "User") .WithMany("Notifications") .HasForeignKey("UserId") .IsRequired() .HasConstraintName("notifications_ibfk_1"); b.Navigation("User"); }); modelBuilder.Entity("IM_API.Models.Permissionarole", b => { b.HasOne("IM_API.Models.Permission", "Permission") .WithMany("Permissionaroles") .HasForeignKey("PermissionId") .IsRequired() .HasConstraintName("permissionarole_ibfk_2"); b.HasOne("IM_API.Models.Role", "Role") .WithMany("Permissionaroles") .HasForeignKey("RoleId") .IsRequired() .HasConstraintName("permissionarole_ibfk_1"); b.Navigation("Permission"); b.Navigation("Role"); }); modelBuilder.Entity("IM_API.Models.Group", b => { b.Navigation("GroupMembers"); b.Navigation("GroupRequests"); }); modelBuilder.Entity("IM_API.Models.Message", b => { b.Navigation("Conversations"); b.Navigation("Files"); }); modelBuilder.Entity("IM_API.Models.Permission", b => { b.Navigation("Permissionaroles"); }); modelBuilder.Entity("IM_API.Models.Role", b => { b.Navigation("Admins"); b.Navigation("Permissionaroles"); }); modelBuilder.Entity("IM_API.Models.User", b => { b.Navigation("Conversations"); b.Navigation("Devices"); b.Navigation("FriendFriendNavigations"); b.Navigation("FriendRequestRequestUserNavigations"); b.Navigation("FriendRequestResponseUserNavigations"); b.Navigation("FriendUsers"); b.Navigation("GroupMembers"); b.Navigation("GroupRequests"); b.Navigation("Groups"); b.Navigation("LoginLogs"); b.Navigation("Messages"); b.Navigation("Notifications"); }); #pragma warning restore 612, 618 } } }