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("CheckStatus") + .HasColumnType("int"); + + b.Property("ContractAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("ContractCycle") + .HasColumnType("int"); + + b.Property("ContractId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CustomId") + .HasColumnType("uniqueidentifier"); + + b.Property("MarkManageId") + .HasColumnType("uniqueidentifier"); + + b.Property("ProjectId") + .HasColumnType("uniqueidentifier"); + + b.Property("ProjectManageId") + .HasColumnType("uniqueidentifier"); + + b.Property("ReceivedDate") + .HasColumnType("datetime2"); + + b.Property("ReceivedStatus") + .HasColumnType("int"); + + b.Property("TenantCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("VisitObjectId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("ID"); + + b.HasIndex("AreaId"); + + b.HasIndex("ContractId"); + + b.HasIndex("CustomId"); + + b.HasIndex("MarkManageId"); + + b.HasIndex("ProjectId"); + + b.HasIndex("ProjectManageId"); + + b.HasIndex("VisitObjectId"); + + b.ToTable("WTM_BILLING_LIST"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST_BILLING_FILE", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("BillingId") + .HasColumnType("uniqueidentifier"); + + b.Property("FileId") + .HasColumnType("uniqueidentifier"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("BillingId"); + + b.HasIndex("FileId"); + + b.ToTable("WTM_BILLING_LIST_BILLING_FILE"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST_RECEIVED_FILE", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("BillingId") + .HasColumnType("uniqueidentifier"); + + b.Property("FileId") + .HasColumnType("uniqueidentifier"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("BillingId"); + + b.HasIndex("FileId"); + + b.ToTable("WTM_BILLING_LIST_RECEIVED_FILE"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST_YEAR", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("TargetAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("TenantCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("YEAR") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("ID"); + + b.ToTable("WTM_BILLING_LIST_YEAR"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BUSINESS", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ActSignDate") + .HasColumnType("datetime2"); + + b.Property("ActSignDateStr") + .HasColumnType("nvarchar(max)"); + + b.Property("AreaId") + .HasColumnType("uniqueidentifier"); + + b.Property("BusinessName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("BusinessProject") + .HasColumnType("nvarchar(max)"); + + b.Property("BusinessSource") + .HasColumnType("int"); + + b.Property("BusinessStatus") + .HasColumnType("int"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CustomId") + .IsRequired() + .HasColumnType("uniqueidentifier"); + + b.Property("DealCycle") + .HasColumnType("nvarchar(max)"); + + b.Property("DealMoney") + .HasColumnType("nvarchar(max)"); + + b.Property("DealRate") + .HasColumnType("nvarchar(max)"); + + b.Property("Follow") + .HasColumnType("nvarchar(max)"); + + b.Property("GetDate") + .HasColumnType("datetime2"); + + b.Property("IndustryType") + .HasColumnType("int"); + + b.Property("MarkManageId") + .IsRequired() + .HasColumnType("uniqueidentifier"); + + b.Property("Month") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Negotiation") + .HasColumnType("nvarchar(max)"); + + b.Property("PreSignDate") + .HasColumnType("datetime2"); + + b.Property("PreSignDateStr") + .HasColumnType("nvarchar(max)"); + + b.Property("ProcessStr") + .HasColumnType("nvarchar(max)"); + + b.Property("ProjectId") + .IsRequired() + .HasColumnType("uniqueidentifier"); + + b.Property("ProjectTarget") + .HasColumnType("nvarchar(max)"); + + b.Property("Proposal") + .HasColumnType("nvarchar(max)"); + + b.Property("Requirement") + .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.Property("VisitObjectId") + .HasColumnType("uniqueidentifier"); + + b.Property("Year") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("AreaId"); + + b.HasIndex("CustomId"); + + b.HasIndex("MarkManageId"); + + b.HasIndex("ProjectId"); + + b.HasIndex("VisitObjectId"); + + b.ToTable("WTM_BUSINESS"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CONTRACT", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AreaId") + .IsRequired() + .HasColumnType("uniqueidentifier"); + + b.Property("ContractAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("ContractCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ContractCycle") + .HasColumnType("int"); + + b.Property("ContractName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CostAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CustomClass") + .HasColumnType("int"); + + b.Property("CustomId") + .HasColumnType("uniqueidentifier"); + + b.Property("DsfCostAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("ERPCode") + .HasColumnType("nvarchar(max)"); + + b.Property("ERPName") + .HasColumnType("nvarchar(max)"); + + b.Property("FifthBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FirstBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FourthBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("GrossProfitMargin") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("MarkManageId") + .HasColumnType("uniqueidentifier"); + + b.Property("ProjectId") + .IsRequired() + .HasColumnType("uniqueidentifier"); + + b.Property("ProjectManageId") + .HasColumnType("uniqueidentifier"); + + b.Property("SecondBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("SignDate") + .IsRequired() + .HasColumnType("datetime2"); + + b.Property("TenantCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ThreeBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("VisitObjectId") + .HasColumnType("uniqueidentifier"); + + b.Property("Year") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("AreaId"); + + b.HasIndex("CustomId"); + + b.HasIndex("MarkManageId"); + + b.HasIndex("ProjectId"); + + b.HasIndex("ProjectManageId"); + + b.HasIndex("VisitObjectId"); + + b.ToTable("WTM_CONTRACT"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CONTRACT_FILE", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ContractId") + .HasColumnType("uniqueidentifier"); + + b.Property("FileId") + .HasColumnType("uniqueidentifier"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("ID"); + + b.HasIndex("ContractId"); + + b.HasIndex("FileId"); + + b.ToTable("WTM_CONTRACT_FILE"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CONTRACT_IMPORT_TEMP", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ContractAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("ContractCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CustomName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustomType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ERPCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ERPName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FifthBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FifthBillingDate") + .HasColumnType("datetime2"); + + b.Property("FifthReceivedAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FifthReceivedDate") + .HasColumnType("datetime2"); + + b.Property("FirstBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FirstBillingDate") + .HasColumnType("datetime2"); + + b.Property("FirstReceivedAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FirstReceivedDate") + .HasColumnType("datetime2"); + + b.Property("FourthBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FourthBillingDate") + .HasColumnType("datetime2"); + + b.Property("FourthReceivedAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("FourthReceivedDate") + .HasColumnType("datetime2"); + + b.Property("MarkManage") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NUM") + .HasColumnType("int"); + + b.Property("ProjectManage") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProjectType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SecondBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("SecondBillingDate") + .HasColumnType("datetime2"); + + b.Property("SecondReceivedAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("SecondReceivedDate") + .HasColumnType("datetime2"); + + b.Property("SignDate") + .HasColumnType("datetime2"); + + b.Property("TenantCode") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ThreeBillingAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("ThreeBillingDate") + .HasColumnType("datetime2"); + + b.Property("ThreeReceivedAmount") + .HasColumnType("decimal(18,2)"); + + b.Property("ThreeReceivedDate") + .HasColumnType("datetime2"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("UpdateTime") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("ID"); + + b.ToTable("WTM_CONTRACT_IMPORT_TEMP"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CUSTOM", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AreaId") + .IsRequired() + .HasColumnType("uniqueidentifier"); + + b.Property("BillingFile") + .HasColumnType("nvarchar(max)"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CreditLevel") + .HasColumnType("int"); + + b.Property("CustomAllName") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CustomCity") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CustomClass") + .HasColumnType("int"); + + b.Property("CustomId") + .HasColumnType("uniqueidentifier"); + + b.Property("CustomShortName") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CustomType") + .HasColumnType("int"); + + b.Property("EnterprisesType") + .HasColumnType("int"); + + b.Property("IndustryType") + .HasColumnType("int"); + + b.Property("ParentUnit") + .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.HasKey("ID"); + + b.HasIndex("AreaId"); + + b.HasIndex("CustomId"); + + b.ToTable("WTM_CUSTOM"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CUSTOM_PERSON", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CustomId") + .HasColumnType("uniqueidentifier"); + + b.Property("PersonName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PersonPhone") + .HasColumnType("nvarchar(max)"); + + b.Property("PersonPost") + .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.HasIndex("CustomId"); + + b.ToTable("WTM_CUSTOM_PERSON"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_PROJECT", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("IsValid") + .HasColumnType("bit"); + + 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("WTM_PROJECT"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_USER_AREA", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AreaCode") + .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.Property("UserCode") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("ID"); + + b.ToTable("WTM_USER_AREA"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_USER_PROJECT", 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("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("WTM_USER_PROJECT"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AreaId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreateTime") + .HasColumnType("datetime2"); + + b.Property("CustomId") + .HasColumnType("uniqueidentifier"); + + b.Property("MarkManageId") + .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("VisitEndTime") + .HasColumnType("datetime2"); + + b.Property("VisitObjectId") + .HasColumnType("uniqueidentifier"); + + b.Property("VisitStartTime") + .HasColumnType("datetime2"); + + b.Property("VisitTarget") + .HasColumnType("nvarchar(max)"); + + b.HasKey("ID"); + + b.HasIndex("AreaId"); + + b.HasIndex("CustomId"); + + b.HasIndex("MarkManageId"); + + b.HasIndex("VisitObjectId"); + + b.ToTable("WTM_VISIT_PLAN"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN_FILE", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("FileId") + .HasColumnType("uniqueidentifier"); + + b.Property("Order") + .HasColumnType("int"); + + b.Property("VisitPlanId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("ID"); + + b.HasIndex("FileId"); + + b.HasIndex("VisitPlanId"); + + b.ToTable("WTM_VISIT_PLAN_FILE"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN_USER", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + 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.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("VisitPlanId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("ID"); + + b.HasIndex("UserId"); + + b.HasIndex("VisitPlanId"); + + b.ToTable("WTM_VISIT_PLAN_USER"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkGroup", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkGroup", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkMenu", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUser", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkGroup", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "Photo") + .WithMany() + .HasForeignKey("PhotoId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Group"); + + b.Navigation("Photo"); + }); + + modelBuilder.Entity("wtmProject.Model.FrameworkOutRecord", b => + { + b.HasOne("wtmProject.Model.FrameworkCustom", "Custom") + .WithMany() + .HasForeignKey("CustomId"); + + b.HasOne("wtmProject.Model.FrameworkProject", "Project") + .WithMany() + .HasForeignKey("ProjectId"); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.Navigation("Custom"); + + b.Navigation("Project"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST", b => + { + b.HasOne("wtmProject.Model.WTM_AREA", "Area") + .WithMany() + .HasForeignKey("AreaId"); + + b.HasOne("wtmProject.Model.WTM_CONTRACT", "Contract") + .WithMany() + .HasForeignKey("ContractId"); + + b.HasOne("wtmProject.Model.WTM_CUSTOM", "Custom") + .WithMany() + .HasForeignKey("CustomId"); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "MarkManage") + .WithMany() + .HasForeignKey("MarkManageId"); + + b.HasOne("wtmProject.Model.WTM_PROJECT", "Project") + .WithMany() + .HasForeignKey("ProjectId"); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "ProjectManage") + .WithMany() + .HasForeignKey("ProjectManageId"); + + b.HasOne("wtmProject.Model.WTM_CUSTOM_PERSON", "VisitObject") + .WithMany() + .HasForeignKey("VisitObjectId"); + + b.Navigation("Area"); + + b.Navigation("Contract"); + + b.Navigation("Custom"); + + b.Navigation("MarkManage"); + + b.Navigation("Project"); + + b.Navigation("ProjectManage"); + + b.Navigation("VisitObject"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST_BILLING_FILE", b => + { + b.HasOne("wtmProject.Model.WTM_BILLING_LIST", "Billing") + .WithMany("BillingFiles") + .HasForeignKey("BillingId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Billing"); + + b.Navigation("File"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST_RECEIVED_FILE", b => + { + b.HasOne("wtmProject.Model.WTM_BILLING_LIST", "Billing") + .WithMany("ReceivedFiles") + .HasForeignKey("BillingId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Billing"); + + b.Navigation("File"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BUSINESS", b => + { + b.HasOne("wtmProject.Model.WTM_AREA", "Area") + .WithMany() + .HasForeignKey("AreaId"); + + b.HasOne("wtmProject.Model.WTM_CUSTOM", "Custom") + .WithMany() + .HasForeignKey("CustomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "MarkManage") + .WithMany() + .HasForeignKey("MarkManageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("wtmProject.Model.WTM_PROJECT", "Project") + .WithMany() + .HasForeignKey("ProjectId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("wtmProject.Model.WTM_CUSTOM_PERSON", "VisitObject") + .WithMany() + .HasForeignKey("VisitObjectId"); + + b.Navigation("Area"); + + b.Navigation("Custom"); + + b.Navigation("MarkManage"); + + b.Navigation("Project"); + + b.Navigation("VisitObject"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CONTRACT", b => + { + b.HasOne("wtmProject.Model.WTM_AREA", "Area") + .WithMany() + .HasForeignKey("AreaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("wtmProject.Model.WTM_CUSTOM", "Custom") + .WithMany() + .HasForeignKey("CustomId"); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "MarkManage") + .WithMany() + .HasForeignKey("MarkManageId"); + + b.HasOne("wtmProject.Model.WTM_PROJECT", "Project") + .WithMany() + .HasForeignKey("ProjectId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "ProjectManage") + .WithMany() + .HasForeignKey("ProjectManageId"); + + b.HasOne("wtmProject.Model.WTM_CUSTOM_PERSON", "VisitObject") + .WithMany() + .HasForeignKey("VisitObjectId"); + + b.Navigation("Area"); + + b.Navigation("Custom"); + + b.Navigation("MarkManage"); + + b.Navigation("Project"); + + b.Navigation("ProjectManage"); + + b.Navigation("VisitObject"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CONTRACT_FILE", b => + { + b.HasOne("wtmProject.Model.WTM_CONTRACT", "Contract") + .WithMany("Files") + .HasForeignKey("ContractId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contract"); + + b.Navigation("File"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CUSTOM", b => + { + b.HasOne("wtmProject.Model.WTM_AREA", "Area") + .WithMany() + .HasForeignKey("AreaId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("wtmProject.Model.WTM_CUSTOM", "Custom") + .WithMany() + .HasForeignKey("CustomId"); + + b.Navigation("Area"); + + b.Navigation("Custom"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CUSTOM_PERSON", b => + { + b.HasOne("wtmProject.Model.WTM_CUSTOM", "Custom") + .WithMany("CustomPerson") + .HasForeignKey("CustomId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Custom"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN", b => + { + b.HasOne("wtmProject.Model.WTM_AREA", "Area") + .WithMany() + .HasForeignKey("AreaId"); + + b.HasOne("wtmProject.Model.WTM_CUSTOM", "Custom") + .WithMany() + .HasForeignKey("CustomId"); + + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "MarkManage") + .WithMany() + .HasForeignKey("MarkManageId"); + + b.HasOne("wtmProject.Model.WTM_CUSTOM_PERSON", "VisitObject") + .WithMany() + .HasForeignKey("VisitObjectId"); + + b.Navigation("Area"); + + b.Navigation("Custom"); + + b.Navigation("MarkManage"); + + b.Navigation("VisitObject"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN_FILE", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "File") + .WithMany() + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("wtmProject.Model.WTM_VISIT_PLAN", "VisitPlan") + .WithMany("Files") + .HasForeignKey("VisitPlanId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("File"); + + b.Navigation("VisitPlan"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN_USER", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkUser", "User") + .WithMany() + .HasForeignKey("UserId"); + + b.HasOne("wtmProject.Model.WTM_VISIT_PLAN", "VisitPlan") + .WithMany("VisitUser") + .HasForeignKey("VisitPlanId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("User"); + + b.Navigation("VisitPlan"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkGroup", b => + { + b.Navigation("Children"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.Navigation("Children"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_BILLING_LIST", b => + { + b.Navigation("BillingFiles"); + + b.Navigation("ReceivedFiles"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CONTRACT", b => + { + b.Navigation("Files"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_CUSTOM", b => + { + b.Navigation("CustomPerson"); + }); + + modelBuilder.Entity("wtmProject.Model.WTM_VISIT_PLAN", b => + { + b.Navigation("Files"); + + b.Navigation("VisitUser"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/wtmProject.DataAccess/Migrations/20260212005744_hmr2026021201.cs b/wtmProject.DataAccess/Migrations/20260212005744_hmr2026021201.cs new file mode 100644 index 0000000..e3c6e32 --- /dev/null +++ b/wtmProject.DataAccess/Migrations/20260212005744_hmr2026021201.cs @@ -0,0 +1,35 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace wtmProject.DataAccess.Migrations +{ + public partial class hmr2026021201 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsValid", + table: "WTM_PROJECT", + type: "bit", + nullable: true); + + migrationBuilder.AddColumn( + name: "UserType", + table: "FrameworkUsers", + type: "int", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "IsValid", + table: "WTM_PROJECT"); + + migrationBuilder.DropColumn( + name: "UserType", + table: "FrameworkUsers"); + } + } +}