diff --git a/wtmProject.DataAccess/Migrations/20260212005744_hmr2026021201.Designer.cs b/wtmProject.DataAccess/Migrations/20260212005744_hmr2026021201.Designer.cs
new file mode 100644
index 0000000..bc36ccb
--- /dev/null
+++ b/wtmProject.DataAccess/Migrations/20260212005744_hmr2026021201.Designer.cs
@@ -0,0 +1,2441 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using wtmProject.DataAccess;
+
+#nullable disable
+
+namespace wtmProject.DataAccess.Migrations
+{
+ [DbContext(typeof(DataContext))]
+ [Migration("20260212005744_hmr2026021201")]
+ partial class hmr2026021201
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "6.0.21")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.ActionLog", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActionName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("ActionTime")
+ .HasColumnType("datetime2");
+
+ b.Property("ActionUrl")
+ .HasMaxLength(250)
+ .HasColumnType("nvarchar(250)");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("Duration")
+ .HasColumnType("float");
+
+ b.Property("IP")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ITCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("LogType")
+ .HasColumnType("int");
+
+ b.Property("ModuleName")
+ .HasMaxLength(255)
+ .HasColumnType("nvarchar(255)");
+
+ b.Property("Remark")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("ActionLogs");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.DataPrivilege", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("Domain")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("GroupCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RelateId")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TableName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("UserCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("ID");
+
+ b.ToTable("DataPrivileges");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FileAttachment", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ExtraInfo")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FileData")
+ .HasColumnType("varbinary(max)");
+
+ b.Property("FileExt")
+ .IsRequired()
+ .HasMaxLength(10)
+ .HasColumnType("nvarchar(10)");
+
+ b.Property("FileName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandlerInfo")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Length")
+ .HasColumnType("bigint");
+
+ b.Property("Path")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SaveMode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UploadTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FileAttachments");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkGroup", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("GroupCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("GroupName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("GroupRemark")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Manager")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ParentId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("ID");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("FrameworkGroups");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActionName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ClassName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DisplayOrder")
+ .IsRequired()
+ .HasColumnType("int");
+
+ b.Property("Domain")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("FolderOnly")
+ .HasColumnType("bit");
+
+ b.Property("Icon")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsInherit")
+ .HasColumnType("bit");
+
+ b.Property("IsInside")
+ .IsRequired()
+ .HasColumnType("bit");
+
+ b.Property("IsPublic")
+ .HasColumnType("bit");
+
+ b.Property("MethodName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ModuleName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PageName")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("ParentId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ShowOnMenu")
+ .HasColumnType("bit");
+
+ b.Property("TenantAllowed")
+ .HasColumnType("bit");
+
+ b.Property("Url")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("ID");
+
+ b.HasIndex("ParentId");
+
+ b.ToTable("FrameworkMenus");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkRole", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("RoleCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("RoleName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("RoleRemark")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkRoles");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkTenant", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("DbContext")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("EnableSub")
+ .HasColumnType("bit");
+
+ b.Property("Enabled")
+ .HasColumnType("bit");
+
+ b.Property("TCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TDb")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TDbType")
+ .HasColumnType("int");
+
+ b.Property("TDomain")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkTenants");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUser", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CellPhone")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("DisplayOrder")
+ .HasColumnType("int");
+
+ b.Property("Gender")
+ .HasColumnType("int");
+
+ b.Property("GroupId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ITCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("IsValid")
+ .HasColumnType("bit");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasMaxLength(32)
+ .HasColumnType("nvarchar(32)");
+
+ b.Property("PhotoId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("UserType")
+ .HasColumnType("int");
+
+ b.HasKey("ID");
+
+ b.HasIndex("GroupId");
+
+ b.HasIndex("PhotoId");
+
+ b.ToTable("FrameworkUsers");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUserGroup", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("GroupCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("UserCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkUserGroups");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUserRole", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("RoleCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("UserCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkUserRoles");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkWorkflow", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActivityId")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ModelID")
+ .HasMaxLength(100)
+ .HasColumnType("nvarchar(100)");
+
+ b.Property("ModelType")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("StartTime")
+ .HasColumnType("datetime2");
+
+ b.Property("Submitter")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("Tag")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UserCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("WorkflowId")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("WorkflowName")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkWorkflows");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.FunctionPrivilege", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Allowed")
+ .IsRequired()
+ .HasColumnType("bit");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("MenuItemId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("RoleCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FunctionPrivileges");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.Models.Elsa_Bookmark", b =>
+ {
+ b.Property("ID")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)")
+ .HasColumnName("Id");
+
+ b.Property("ActivityId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ActivityType")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("CorrelationId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Hash")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Model")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ModelType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantId")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("WorkflowInstanceId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.HasKey("ID");
+
+ b.ToTable("Bookmarks", "Elsa");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.Models.Elsa_Trigger", b =>
+ {
+ b.Property("ID")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)")
+ .HasColumnName("Id");
+
+ b.Property("ActivityId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ActivityType")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Hash")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Model")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ModelType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantId")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("WorkflowDefinitionId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.HasKey("ID");
+
+ b.ToTable("Triggers", "Elsa");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.Models.Elsa_WorkflowDefinition", b =>
+ {
+ b.Property("ID")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)")
+ .HasColumnName("Id");
+
+ b.Property("CreatedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("Data")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DefinitionId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("DeleteCompletedInstances")
+ .HasColumnType("bit");
+
+ b.Property("Description")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DisplayName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("IsLatest")
+ .HasColumnType("bit");
+
+ b.Property("IsPublished")
+ .HasColumnType("bit");
+
+ b.Property("IsSingleton")
+ .HasColumnType("bit");
+
+ b.Property("Name")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("PersistenceBehavior")
+ .HasColumnType("int");
+
+ b.Property("Tag")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("TenantId")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.HasKey("ID");
+
+ b.ToTable("WorkflowDefinitions", "Elsa");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.Models.Elsa_WorkflowExecutionLogRecord", b =>
+ {
+ b.Property("ID")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)")
+ .HasColumnName("Id");
+
+ b.Property("ActivityId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ActivityType")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Data")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("EventName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Message")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Source")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TenantId")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Timestamp")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("WorkflowInstanceId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.HasKey("ID");
+
+ b.ToTable("WorkflowExecutionLogRecords", "Elsa");
+ });
+
+ modelBuilder.Entity("WalkingTec.Mvvm.Core.Models.Elsa_WorkflowInstance", b =>
+ {
+ b.Property("ID")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)")
+ .HasColumnName("Id");
+
+ b.Property("CancelledAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("ContextId")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("ContextType")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("CorrelationId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("CreatedAt")
+ .IsRequired()
+ .HasColumnType("datetimeoffset");
+
+ b.Property("Data")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DefinitionId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("DefinitionVersionId")
+ .IsRequired()
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("FaultedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("FinishedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("LastExecutedActivityId")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LastExecutedAt")
+ .HasColumnType("datetimeoffset");
+
+ b.Property("Name")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("TenantId")
+ .HasMaxLength(450)
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Version")
+ .HasColumnType("int");
+
+ b.Property("WorkflowStatus")
+ .HasColumnType("int");
+
+ b.HasKey("ID");
+
+ b.ToTable("WorkflowInstances", "Elsa");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.FrameworkCustom", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("CustomCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CustomName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkCustoms");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.FrameworkOutRecord", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("City")
+ .HasMaxLength(200)
+ .HasColumnType("nvarchar(200)");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("CustomId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("OutEndTime")
+ .HasColumnType("datetime2");
+
+ b.Property("OutRecordType")
+ .HasColumnType("int");
+
+ b.Property("OutStartTime")
+ .HasColumnType("datetime2");
+
+ b.Property("ProjectId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Remark")
+ .HasMaxLength(500)
+ .HasColumnType("nvarchar(500)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("UserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.HasKey("ID");
+
+ b.HasIndex("CustomId");
+
+ b.HasIndex("ProjectId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("FrameworkOutRecords");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.FrameworkPost", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("PostCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("PostName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkPosts");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.FrameworkProject", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("ProjectCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("ProjectName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkProjects");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.FrameworkUserPost", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("PostCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("UserCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.HasKey("ID");
+
+ b.ToTable("FrameworkUserPosts");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.WTM_AREA", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AreaCode")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("AreaName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("CreateTime")
+ .HasColumnType("datetime2");
+
+ b.Property("TenantCode")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateBy")
+ .HasMaxLength(50)
+ .HasColumnType("nvarchar(50)");
+
+ b.Property("UpdateTime")
+ .HasColumnType("datetime2");
+
+ b.HasKey("ID");
+
+ b.ToTable("WTM_AREA");
+ });
+
+ modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST", b =>
+ {
+ b.Property("ID")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AreaId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("BillingAmount")
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("BillingCycle")
+ .HasColumnType("int");
+
+ b.Property("BillingDate")
+ .HasColumnType("datetime2");
+
+ b.Property