From 66201a8fc3b60fc712aa91cbdbae0f914ec5e3f4 Mon Sep 17 00:00:00 2001 From: zpc Date: Thu, 10 Oct 2024 22:05:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/CloudGaming/CloudGaming.sln | 14 + .../CloudGaming.CreateDataBase.csproj | 23 + .../CloudGaming.CreateDataBase/Program.cs | 17 + .../CloudGaming.GameModel.csproj | 20 + .../CodeTemplates/EFCore/DbContext.t4 | 389 ++++++ .../CodeTemplates/EFCore/EntityType.t4 | 185 +++ .../Db/Db_Ext/CloudGamingCBTContext.cs | 135 ++ .../Db/Db_Ext/T_Config.cs | 47 + .../Db/Db_Ext/T_Images.cs | 53 + .../Db/Db_Game/CloudGamingGameContext.cs | 527 ++++++++ .../Db/Db_Game/T_CGame_Difficultys.cs | 23 + .../Db/Db_Game/T_GameConfig.cs | 37 + .../Db/Db_Game/T_Game_ChildList.cs | 30 + .../Db/Db_Game/T_Game_ChildTypes.cs | 21 + .../Db/Db_Game/T_Game_DesktopConfig.cs | 106 ++ .../Db/Db_Game/T_Game_DeveloperCompanys.cs | 23 + .../Db/Db_Game/T_Game_Developers.cs | 23 + .../Db/Db_Game/T_Game_Issuers.cs | 23 + .../Db/Db_Game/T_Game_List.cs | 131 ++ .../Db/Db_Game/T_Game_OperationModes.cs | 23 + .../Db/Db_Game/T_Game_Preload.cs | 36 + .../Db/Db_Game/T_Game_Setting.cs | 45 + .../Db/Db_Game/T_Game_Tags.cs | 23 + .../Db/Db_Game/T_Game_Types.cs | 31 + .../Db/Db_Game/T_Game_UserShare.cs | 56 + .../CloudGaming.GameModel/Db/efcore-gen.md | 8 + .../CloudGaming.GameModel/GlobalUsings.cs | 2 + .../Db_Phone/CloudGamingPhoneContext.cs | 1141 +++++++++++++++++ .../DbSqlServer/Db_Phone/T_AvatarFrame.cs | 48 + .../DbSqlServer/Db_Phone/T_Epg_CategoryCfg.cs | 103 ++ .../Db_Phone/T_Epg_CategoryCfg_Export.cs | 80 ++ .../DbSqlServer/Db_Phone/T_Epg_Cfg.cs | 159 +++ .../DbSqlServer/Db_Phone/T_Epg_Cfg_Export.cs | 126 ++ .../DbSqlServer/Db_Phone/T_FloatBall_Cfg.cs | 69 + .../DbSqlServer/Db_Phone/T_GameCBT.cs | 169 +++ .../Db_Phone/T_GameInputSetting.cs | 34 + .../DbSqlServer/Db_Phone/T_GameKeyPlan_CBT.cs | 44 + .../DbSqlServer/Db_Phone/T_GamePressKey.cs | 96 ++ .../Db_Phone/T_GamePressKeyPlan.cs | 61 + .../DbSqlServer/Db_Phone/T_GameShow.cs | 37 + .../Db_Phone/T_Game_DiscountCfg.cs | 66 + .../DbSqlServer/Db_Phone/T_KeyboardSetting.cs | 64 + .../DbSqlServer/Db_Phone/T_PlanKey_CBT.cs | 61 + .../DbSqlServer/Db_Phone/T_Popup.cs | 95 ++ .../DbSqlServer/Db_Phone/T_PopupBtn.cs | 58 + .../Db_Phone/T_SevenDaySignIn_AwardCBT.cs | 28 + .../DbSqlServer/Db_Phone/T_SignTypes.cs | 30 + .../DbSqlServer/Db_Phone/T_SysMessage.cs | 50 + .../DbSqlServer/Db_Phone/T_UITypes.cs | 27 + .../DbSqlServer/Db_Phone/T_UIs.cs | 48 + .../DbSqlServer/Db_Phone/T_Videos.cs | 33 + .../DbSqlServer/efcore-gen.md | 4 + 52 files changed, 4782 insertions(+) create mode 100644 src/CloudGaming/Console/CloudGaming.CreateDataBase/CloudGaming.CreateDataBase.csproj create mode 100644 src/CloudGaming/Console/CloudGaming.CreateDataBase/Program.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/CloudGaming.GameModel.csproj create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/DbContext.t4 create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/EntityType.t4 create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/CloudGamingCBTContext.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Config.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Images.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/CloudGamingGameContext.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_CGame_Difficultys.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_GameConfig.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildList.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildTypes.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DesktopConfig.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DeveloperCompanys.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Developers.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Issuers.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_List.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_OperationModes.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Preload.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Setting.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Tags.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Types.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_UserShare.cs create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/Db/efcore-gen.md create mode 100644 src/CloudGaming/Model/CloudGaming.GameModel/GlobalUsings.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/CloudGamingPhoneContext.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_AvatarFrame.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg_Export.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg_Export.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_FloatBall_Cfg.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameCBT.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameInputSetting.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameKeyPlan_CBT.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKey.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKeyPlan.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameShow.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Game_DiscountCfg.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_KeyboardSetting.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PlanKey_CBT.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Popup.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PopupBtn.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SevenDaySignIn_AwardCBT.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SignTypes.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SysMessage.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UITypes.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UIs.cs create mode 100644 src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Videos.cs diff --git a/src/CloudGaming/CloudGaming.sln b/src/CloudGaming/CloudGaming.sln index a924c00..a7356f6 100644 --- a/src/CloudGaming/CloudGaming.sln +++ b/src/CloudGaming/CloudGaming.sln @@ -28,6 +28,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CloudGaming.Model", "Model\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CloudGaming.Code", "Code\CloudGaming.Code\CloudGaming.Code.csproj", "{5F851D79-E435-4D16-974A-6D5E3A3269A7}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudGaming.CreateDataBase", "Console\CloudGaming.CreateDataBase\CloudGaming.CreateDataBase.csproj", "{393ED915-3F88-4F84-AE2A-5C95F8867F16}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CloudGaming.GameModel", "Model\CloudGaming.GameModel\CloudGaming.GameModel.csproj", "{1120C146-6B83-4E4E-8A39-BD09466C7E1B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -50,6 +54,14 @@ Global {5F851D79-E435-4D16-974A-6D5E3A3269A7}.Debug|Any CPU.Build.0 = Debug|Any CPU {5F851D79-E435-4D16-974A-6D5E3A3269A7}.Release|Any CPU.ActiveCfg = Release|Any CPU {5F851D79-E435-4D16-974A-6D5E3A3269A7}.Release|Any CPU.Build.0 = Release|Any CPU + {393ED915-3F88-4F84-AE2A-5C95F8867F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {393ED915-3F88-4F84-AE2A-5C95F8867F16}.Debug|Any CPU.Build.0 = Debug|Any CPU + {393ED915-3F88-4F84-AE2A-5C95F8867F16}.Release|Any CPU.ActiveCfg = Release|Any CPU + {393ED915-3F88-4F84-AE2A-5C95F8867F16}.Release|Any CPU.Build.0 = Release|Any CPU + {1120C146-6B83-4E4E-8A39-BD09466C7E1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1120C146-6B83-4E4E-8A39-BD09466C7E1B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1120C146-6B83-4E4E-8A39-BD09466C7E1B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1120C146-6B83-4E4E-8A39-BD09466C7E1B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -59,6 +71,8 @@ Global {0E60926E-0405-4A99-A3FF-2A494CCF02EA} = {51CB40D2-99F5-43E8-95B4-3A75C91736A6} {5DAE20D8-B844-4EF8-ADA6-D7594E8ECCF7} = {A3F00FB0-49D6-48B1-99D9-4619634DF8D9} {5F851D79-E435-4D16-974A-6D5E3A3269A7} = {FCA3CA4B-1993-429A-B2E9-2B05DB44F10E} + {393ED915-3F88-4F84-AE2A-5C95F8867F16} = {9F7EF36C-17BB-4F93-927E-F462FE3C9337} + {1120C146-6B83-4E4E-8A39-BD09466C7E1B} = {A3F00FB0-49D6-48B1-99D9-4619634DF8D9} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {1D299D92-FA27-47A0-8D78-43D1FAFE7628} diff --git a/src/CloudGaming/Console/CloudGaming.CreateDataBase/CloudGaming.CreateDataBase.csproj b/src/CloudGaming/Console/CloudGaming.CreateDataBase/CloudGaming.CreateDataBase.csproj new file mode 100644 index 0000000..d5fe1c7 --- /dev/null +++ b/src/CloudGaming/Console/CloudGaming.CreateDataBase/CloudGaming.CreateDataBase.csproj @@ -0,0 +1,23 @@ + + + + Exe + net8.0 + enable + enable + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + diff --git a/src/CloudGaming/Console/CloudGaming.CreateDataBase/Program.cs b/src/CloudGaming/Console/CloudGaming.CreateDataBase/Program.cs new file mode 100644 index 0000000..98bea14 --- /dev/null +++ b/src/CloudGaming/Console/CloudGaming.CreateDataBase/Program.cs @@ -0,0 +1,17 @@ +// See https://aka.ms/new-console-template for more information +using CloudGaming.Model.DbSqlServer.Db_Phone; +using CloudGaming.Model.DbSqlServer.Db_User; + +using Microsoft.EntityFrameworkCore; +//Server=192.168.1.17;Database=CloudGamingUser;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true; +var optionsBuilder = new DbContextOptionsBuilder(); +var option = optionsBuilder.UseSqlServer("Server=192.168.1.17;Database=CloudGamingPhone;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;").Options; +CloudGamingPhoneContext cloudGamingPhoneContext = new CloudGamingPhoneContext(option); +cloudGamingPhoneContext.Database.EnsureCreated(); +var x = cloudGamingPhoneContext.T_Epg_Cfg.Count(); +//Server=192.168.1.17;Database=CloudGamingPhone;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true; +var optionsBuilder1 = new DbContextOptionsBuilder(); +var option1 = optionsBuilder1.UseSqlServer("Server=192.168.1.17;Database=CloudGamingUser;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;").Options; +CloudGamingUserContext cloud = new CloudGamingUserContext(option1); +cloud.Database.EnsureCreated(); +//cloud.Database. \ No newline at end of file diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/CloudGaming.GameModel.csproj b/src/CloudGaming/Model/CloudGaming.GameModel/CloudGaming.GameModel.csproj new file mode 100644 index 0000000..f46fdc8 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/CloudGaming.GameModel.csproj @@ -0,0 +1,20 @@ + + + + net8.0 + enable + enable + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/DbContext.t4 b/src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/DbContext.t4 new file mode 100644 index 0000000..fa670a9 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/DbContext.t4 @@ -0,0 +1,389 @@ +<#@ template hostSpecific="true" #> +<#@ assembly name="Microsoft.EntityFrameworkCore" #> +<#@ assembly name="Microsoft.EntityFrameworkCore.Design" #> +<#@ assembly name="Microsoft.EntityFrameworkCore.Relational" #> +<#@ assembly name="Microsoft.Extensions.DependencyInjection.Abstractions" #> +<#@ parameter name="Model" type="Microsoft.EntityFrameworkCore.Metadata.IModel" #> +<#@ parameter name="Options" type="Microsoft.EntityFrameworkCore.Scaffolding.ModelCodeGenerationOptions" #> +<#@ parameter name="NamespaceHint" type="System.String" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="Microsoft.EntityFrameworkCore" #> +<#@ import namespace="Microsoft.EntityFrameworkCore.Design" #> +<#@ import namespace="Microsoft.EntityFrameworkCore.Infrastructure" #> +<#@ import namespace="Microsoft.EntityFrameworkCore.Scaffolding" #> +<#@ import namespace="Microsoft.Extensions.DependencyInjection" #> +<# + if (!ProductInfo.GetVersion().StartsWith("8.0")) + { + Warning("Your templates were created using an older version of Entity Framework. Additional features and bug fixes may be available. See https://aka.ms/efcore-docs-updating-templates for more information."); + } + + var services = (IServiceProvider)Host; + var providerCode = services.GetRequiredService(); + var annotationCodeGenerator = services.GetRequiredService(); + var code = services.GetRequiredService(); + + var usings = new List + { + "System", + "System.Collections.Generic", + "Microsoft.EntityFrameworkCore" + }; + + if (NamespaceHint != Options.ModelNamespace + && !string.IsNullOrEmpty(Options.ModelNamespace)) + { + usings.Add(Options.ModelNamespace); + } + + if (!string.IsNullOrEmpty(NamespaceHint)) + { +#> +namespace <#= NamespaceHint #>; + +<# + } +#> +/// +/// 云游戏实体类 +/// +public partial class <#= Options.ContextName #> : DbContext +{ +<# + if (!Options.SuppressOnConfiguring) + { +#> + public <#= Options.ContextName #>() : base() + { + } + +<# + } +#> + /// + /// 租户信息 + /// + public ITenantInfo? TenantInfo { get; set; } + + public <#= Options.ContextName #>(DbContextOptions<<#= Options.ContextName #>> options) + : base(options) + { + } + + /// + /// + /// + /// + public <#= Options.ContextName #>(ITenantInfo tenantInfo) + { + this.TenantInfo= tenantInfo; + } + + + /// + /// + /// + /// + /// + public <#= Options.ContextName #>(ITenantInfo tenantInfo, DbContextOptions<<#= Options.ContextName #>> options) : base(options) + { + this.TenantInfo= tenantInfo; + } + + +<# + foreach (var entityType in Model.GetEntityTypes().Where(e => !e.IsSimpleManyToManyJoinEntityType())) + { +#> + /// + /// <#=entityType.GetComment()??"" #> + /// + public virtual DbSet<<#= entityType.Name #>> <#= entityType.GetDbSetName() #> { get; set; } + +<# + } + + if (!Options.SuppressOnConfiguring) + { +#> + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) +<# + if (!Options.SuppressConnectionStringWarning) + { +#> +<# + } + + var useProviderCall = providerCode.GenerateUseProvider(Options.ConnectionString); + usings.AddRange(useProviderCall.GetRequiredUsings()); +#> + => optionsBuilder<#= code.Fragment(useProviderCall, indent: 3) #>; + +<# + } + +#> + protected override void OnModelCreating(ModelBuilder modelBuilder) + { +<# + var anyConfiguration = false; + + var modelFluentApiCalls = Model.GetFluentApiCalls(annotationCodeGenerator); + if (modelFluentApiCalls != null) + { + usings.AddRange(modelFluentApiCalls.GetRequiredUsings()); +#> + modelBuilder<#= code.Fragment(modelFluentApiCalls, indent: 3) #>; +<# + anyConfiguration = true; + } + + StringBuilder mainEnvironment; + foreach (var entityType in Model.GetEntityTypes().Where(e => !e.IsSimpleManyToManyJoinEntityType())) + { + // Save all previously generated code, and start generating into a new temporary environment + mainEnvironment = GenerationEnvironment; + GenerationEnvironment = new StringBuilder(); + + if (anyConfiguration) + { + WriteLine(""); + } + + var anyEntityTypeConfiguration = false; +#> + modelBuilder.Entity<<#= entityType.Name #>>(entity => + { +<# + var key = entityType.FindPrimaryKey(); + if (key != null) + { + var keyFluentApiCalls = key.GetFluentApiCalls(annotationCodeGenerator); + if (keyFluentApiCalls != null + || (!key.IsHandledByConvention() && !Options.UseDataAnnotations)) + { + if (keyFluentApiCalls != null) + { + usings.AddRange(keyFluentApiCalls.GetRequiredUsings()); + } +#> + entity.HasKey(<#= code.Lambda(key.Properties, "e") #>)<#= code.Fragment(keyFluentApiCalls, indent: 4) #>; +<# + anyEntityTypeConfiguration = true; + } + } + + var entityTypeFluentApiCalls = entityType.GetFluentApiCalls(annotationCodeGenerator) + ?.FilterChain(c => !(Options.UseDataAnnotations && c.IsHandledByDataAnnotations)); + if (entityTypeFluentApiCalls != null) + { + usings.AddRange(entityTypeFluentApiCalls.GetRequiredUsings()); + + if (anyEntityTypeConfiguration) + { + WriteLine(""); + } +#> + entity<#= code.Fragment(entityTypeFluentApiCalls, indent: 4) #>; +<# + anyEntityTypeConfiguration = true; + } + + foreach (var index in entityType.GetIndexes() + .Where(i => !(Options.UseDataAnnotations && i.IsHandledByDataAnnotations(annotationCodeGenerator)))) + { + if (anyEntityTypeConfiguration) + { + WriteLine(""); + } + + var indexFluentApiCalls = index.GetFluentApiCalls(annotationCodeGenerator); + if (indexFluentApiCalls != null) + { + usings.AddRange(indexFluentApiCalls.GetRequiredUsings()); + } +#> + entity.HasIndex(<#= code.Lambda(index.Properties, "e") #>, <#= code.Literal(index.GetDatabaseName()) #>)<#= code.Fragment(indexFluentApiCalls, indent: 4) #>; +<# + anyEntityTypeConfiguration = true; + } + + var firstProperty = true; + foreach (var property in entityType.GetProperties()) + { + var propertyFluentApiCalls = property.GetFluentApiCalls(annotationCodeGenerator) + ?.FilterChain(c => !(Options.UseDataAnnotations && c.IsHandledByDataAnnotations) + && !(c.Method == "IsRequired" && Options.UseNullableReferenceTypes && !property.ClrType.IsValueType)); + if (propertyFluentApiCalls == null) + { + continue; + } + + usings.AddRange(propertyFluentApiCalls.GetRequiredUsings()); + + if (anyEntityTypeConfiguration && firstProperty) + { + WriteLine(""); + } +#> + entity.Property(e => e.<#= property.Name #>)<#= code.Fragment(propertyFluentApiCalls, indent: 4) #>; +<# + anyEntityTypeConfiguration = true; + firstProperty = false; + } + + foreach (var foreignKey in entityType.GetForeignKeys()) + { + var foreignKeyFluentApiCalls = foreignKey.GetFluentApiCalls(annotationCodeGenerator) + ?.FilterChain(c => !(Options.UseDataAnnotations && c.IsHandledByDataAnnotations)); + if (foreignKeyFluentApiCalls == null) + { + continue; + } + + usings.AddRange(foreignKeyFluentApiCalls.GetRequiredUsings()); + + if (anyEntityTypeConfiguration) + { + WriteLine(""); + } +#> + entity.HasOne(d => d.<#= foreignKey.DependentToPrincipal.Name #>).<#= foreignKey.IsUnique ? "WithOne" : "WithMany" #>(<#= foreignKey.PrincipalToDependent != null ? $"p => p.{foreignKey.PrincipalToDependent.Name}" : "" #>)<#= code.Fragment(foreignKeyFluentApiCalls, indent: 4) #>; +<# + anyEntityTypeConfiguration = true; + } + + foreach (var skipNavigation in entityType.GetSkipNavigations().Where(n => n.IsLeftNavigation())) + { + if (anyEntityTypeConfiguration) + { + WriteLine(""); + } + + var left = skipNavigation.ForeignKey; + var leftFluentApiCalls = left.GetFluentApiCalls(annotationCodeGenerator, useStrings: true); + var right = skipNavigation.Inverse.ForeignKey; + var rightFluentApiCalls = right.GetFluentApiCalls(annotationCodeGenerator, useStrings: true); + var joinEntityType = skipNavigation.JoinEntityType; + + if (leftFluentApiCalls != null) + { + usings.AddRange(leftFluentApiCalls.GetRequiredUsings()); + } + + if (rightFluentApiCalls != null) + { + usings.AddRange(rightFluentApiCalls.GetRequiredUsings()); + } +#> + entity.HasMany(d => d.<#= skipNavigation.Name #>).WithMany(p => p.<#= skipNavigation.Inverse.Name #>) + .UsingEntity>( + <#= code.Literal(joinEntityType.Name) #>, + r => r.HasOne<<#= right.PrincipalEntityType.Name #>>().WithMany()<#= code.Fragment(rightFluentApiCalls, indent: 6) #>, + l => l.HasOne<<#= left.PrincipalEntityType.Name #>>().WithMany()<#= code.Fragment(leftFluentApiCalls, indent: 6) #>, + j => + { +<# + var joinKey = joinEntityType.FindPrimaryKey(); + var joinKeyFluentApiCalls = joinKey.GetFluentApiCalls(annotationCodeGenerator); + + if (joinKeyFluentApiCalls != null) + { + usings.AddRange(joinKeyFluentApiCalls.GetRequiredUsings()); + } +#> + j.HasKey(<#= code.Arguments(joinKey.Properties.Select(e => e.Name)) #>)<#= code.Fragment(joinKeyFluentApiCalls, indent: 7) #>; +<# + var joinEntityTypeFluentApiCalls = joinEntityType.GetFluentApiCalls(annotationCodeGenerator); + if (joinEntityTypeFluentApiCalls != null) + { + usings.AddRange(joinEntityTypeFluentApiCalls.GetRequiredUsings()); +#> + j<#= code.Fragment(joinEntityTypeFluentApiCalls, indent: 7) #>; +<# + } + + foreach (var index in joinEntityType.GetIndexes()) + { + var indexFluentApiCalls = index.GetFluentApiCalls(annotationCodeGenerator); + if (indexFluentApiCalls != null) + { + usings.AddRange(indexFluentApiCalls.GetRequiredUsings()); + } +#> + j.HasIndex(<#= code.Literal(index.Properties.Select(e => e.Name).ToArray()) #>, <#= code.Literal(index.GetDatabaseName()) #>)<#= code.Fragment(indexFluentApiCalls, indent: 7) #>; +<# + } + + foreach (var property in joinEntityType.GetProperties()) + { + var propertyFluentApiCalls = property.GetFluentApiCalls(annotationCodeGenerator); + if (propertyFluentApiCalls == null) + { + continue; + } + + usings.AddRange(propertyFluentApiCalls.GetRequiredUsings()); +#> + j.IndexerProperty<<#= code.Reference(property.ClrType) #>>(<#= code.Literal(property.Name) #>)<#= code.Fragment(propertyFluentApiCalls, indent: 7) #>; + +<# + } +#> + }); +<# + anyEntityTypeConfiguration = true; + } + +#> + + }); +<# + // If any signicant code was generated, append it to the main environment + if (anyEntityTypeConfiguration) + { + mainEnvironment.Append(GenerationEnvironment); + anyConfiguration = true; + } + + // Resume generating code into the main environment + GenerationEnvironment = mainEnvironment; + } + + foreach (var sequence in Model.GetSequences()) + { + var needsType = sequence.Type != typeof(long); + var needsSchema = !string.IsNullOrEmpty(sequence.Schema) && sequence.Schema != sequence.Model.GetDefaultSchema(); + var sequenceFluentApiCalls = sequence.GetFluentApiCalls(annotationCodeGenerator); +#> + modelBuilder.HasSequence<#= needsType ? $"<{code.Reference(sequence.Type)}>" : "" #>(<#= code.Literal(sequence.Name) #><#= needsSchema ? $", {code.Literal(sequence.Schema)}" : "" #>)<#= code.Fragment(sequenceFluentApiCalls, indent: 3) #>; +<# + } + + if (anyConfiguration) + { + WriteLine(""); + } +#> + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} +<# + mainEnvironment = GenerationEnvironment; + GenerationEnvironment = new StringBuilder(); + + foreach (var ns in usings.Distinct().OrderBy(x => x, new NamespaceComparer())) + { +#> +using <#= ns #>; +<# + } + + WriteLine(""); + + GenerationEnvironment.Append(mainEnvironment); +#> diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/EntityType.t4 b/src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/EntityType.t4 new file mode 100644 index 0000000..2511a3e --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/CodeTemplates/EFCore/EntityType.t4 @@ -0,0 +1,185 @@ +<#@ template hostSpecific="true" #> +<#@ assembly name="Microsoft.EntityFrameworkCore" #> +<#@ assembly name="Microsoft.EntityFrameworkCore.Design" #> +<#@ assembly name="Microsoft.EntityFrameworkCore.Relational" #> +<#@ assembly name="Microsoft.Extensions.DependencyInjection.Abstractions" #> +<#@ parameter name="EntityType" type="Microsoft.EntityFrameworkCore.Metadata.IEntityType" #> +<#@ parameter name="Options" type="Microsoft.EntityFrameworkCore.Scaffolding.ModelCodeGenerationOptions" #> +<#@ parameter name="NamespaceHint" type="System.String" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text" #> +<#@ import namespace="Microsoft.EntityFrameworkCore" #> +<#@ import namespace="Microsoft.EntityFrameworkCore.Design" #> +<#@ import namespace="Microsoft.Extensions.DependencyInjection" #> +<# + if (EntityType.IsSimpleManyToManyJoinEntityType()) + { + // Don't scaffold these + return ""; + } + + var services = (IServiceProvider)Host; + var annotationCodeGenerator = services.GetRequiredService(); + var code = services.GetRequiredService(); + + var usings = new List + { + // "System", + //"System.Collections.Generic", + }; + + if (Options.UseDataAnnotations) + { + usings.Add("System.ComponentModel.DataAnnotations"); + usings.Add("System.ComponentModel.DataAnnotations.Schema"); + usings.Add("Microsoft.EntityFrameworkCore"); + } + + if (!string.IsNullOrEmpty(NamespaceHint)) + { +#> +namespace <#= NamespaceHint #>; + +<# + } + + if (!string.IsNullOrEmpty(EntityType.GetComment())) + { +#> +/// +/// <#= code.XmlComment(EntityType.GetComment()) #> +/// +<# + } + + if (Options.UseDataAnnotations) + { + foreach (var dataAnnotation in EntityType.GetDataAnnotations(annotationCodeGenerator)) + { +#> +<#= code.Fragment(dataAnnotation) #> +<# + } + } +#> +public partial class <#= EntityType.Name #>: MultiTenantEntity +{ + public <#= EntityType.Name #>() { } + +<# + var firstProperty = true; + foreach (var property in EntityType.GetProperties().OrderBy(p => p.GetColumnOrder() ?? -1)) + { + if (!firstProperty) + { + WriteLine(""); + } + + if(property.Name=="TenantId"){ + #> + /// + /// 所属租户 + /// + public override Guid TenantId { get; set; } + <# + continue; + } + if (!string.IsNullOrEmpty(property.GetComment())) + { +#> + /// + /// <#= code.XmlComment(property.GetComment(), indent: 1) #> + /// +<# + } + + if (Options.UseDataAnnotations) + { + var dataAnnotations = property.GetDataAnnotations(annotationCodeGenerator) + .Where(a => !(a.Type == typeof(RequiredAttribute) && Options.UseNullableReferenceTypes && !property.ClrType.IsValueType)); + foreach (var dataAnnotation in dataAnnotations) + { +#> + <#= code.Fragment(dataAnnotation) #> +<# + } + } + + usings.AddRange(code.GetRequiredUsings(property.ClrType)); + + var needsNullable = Options.UseNullableReferenceTypes && property.IsNullable && !property.ClrType.IsValueType; + var needsInitializer = Options.UseNullableReferenceTypes && !property.IsNullable && !property.ClrType.IsValueType; + +#> + public virtual <#= code.Reference(property.ClrType) #><#= needsNullable ? "?" : "" #> <#= property.Name #> { get; set; }<#= needsInitializer ? " = null!;" : "" #> +<# + firstProperty = false; + } + + foreach (var navigation in EntityType.GetNavigations()) + { + WriteLine(""); + + if (Options.UseDataAnnotations) + { + foreach (var dataAnnotation in navigation.GetDataAnnotations(annotationCodeGenerator)) + { +#> + <#= code.Fragment(dataAnnotation) #> +<# + } + } + + var targetType = navigation.TargetEntityType.Name; + if (navigation.IsCollection) + { +#> + public virtual ICollection<<#= targetType #>> <#= navigation.Name #> { get; set; } = new List<<#= targetType #>>(); +<# + } + else + { + var needsNullable = Options.UseNullableReferenceTypes && !(navigation.ForeignKey.IsRequired && navigation.IsOnDependent); + var needsInitializer = Options.UseNullableReferenceTypes && navigation.ForeignKey.IsRequired && navigation.IsOnDependent; +#> + public virtual <#= targetType #><#= needsNullable ? "?" : "" #> <#= navigation.Name #> { get; set; }<#= needsInitializer ? " = null!;" : "" #> +<# + } + } + + foreach (var skipNavigation in EntityType.GetSkipNavigations()) + { + WriteLine(""); + + if (Options.UseDataAnnotations) + { + foreach (var dataAnnotation in skipNavigation.GetDataAnnotations(annotationCodeGenerator)) + { +#> + <#= code.Fragment(dataAnnotation) #> +<# + } + } +#> + public virtual ICollection<<#= skipNavigation.TargetEntityType.Name #>> <#= skipNavigation.Name #> { get; set; } = new List<<#= skipNavigation.TargetEntityType.Name #>>(); +<# + } +#> +} +<# + var previousOutput = GenerationEnvironment; + GenerationEnvironment = new StringBuilder(); + + foreach (var ns in usings.Distinct().OrderBy(x => x, new NamespaceComparer())) + { +#> +using <#= ns #>; +<# + } + + WriteLine(""); + + GenerationEnvironment.Append(previousOutput); +#> diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/CloudGamingCBTContext.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/CloudGamingCBTContext.cs new file mode 100644 index 0000000..04a0bd4 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/CloudGamingCBTContext.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; + +namespace CloudGaming.GameModel.Db.Db_Ext; + +/// +/// 云游戏实体类 +/// +public partial class CloudGamingCBTContext : DbContext +{ + public CloudGamingCBTContext() : base() + { + } + + /// + /// 租户信息 + /// + public ITenantInfo? TenantInfo { get; set; } + + public CloudGamingCBTContext(DbContextOptions options) + : base(options) + { + } + + /// + /// + /// + /// + public CloudGamingCBTContext(ITenantInfo tenantInfo) + { + this.TenantInfo= tenantInfo; + } + + + /// + /// + /// + /// + /// + public CloudGamingCBTContext(ITenantInfo tenantInfo, DbContextOptions options) : base(options) + { + this.TenantInfo= tenantInfo; + } + + + /// + /// App配置 + /// + public virtual DbSet T_Config { get; set; } + + /// + /// 图片列表 + /// + public virtual DbSet T_Images { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + => optionsBuilder.UseSqlServer("Server=192.168.1.17;Database=CloudGamingCBT;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;"); + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_APP_CONFIG"); + + entity.ToTable(tb => tb.HasComment("App配置")); + + entity.Property(e => e.BossId) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ConfigStr) + .HasMaxLength(2000) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Continent) + .HasMaxLength(200) + .HasComment("州 例:亚洲") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CountryName) + .HasMaxLength(200) + .HasComment("国家 例:中国") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(2000) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Plat) + .HasMaxLength(100) + .IsUnicode(false) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ShowName) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_VL_UI_IMAGES"); + + entity.ToTable(tb => tb.HasComment("图片列表")); + + entity.Property(e => e.CreateTime) + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .HasComment("备注") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId).HasComment("图片Id"); + entity.Property(e => e.Language) + .HasMaxLength(20) + .HasDefaultValue("zh") + .HasComment("语言") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .HasComment("图片名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Type).HasComment("类型"); + entity.Property(e => e.UpdateTime) + .HasComment("修改时间") + .HasColumnType("datetime"); + entity.Property(e => e.Url) + .HasMaxLength(200) + .HasComment("图片地址") + .UseCollation("Chinese_PRC_CI_AS"); + + }); + + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Config.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Config.cs new file mode 100644 index 0000000..24cd892 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Config.cs @@ -0,0 +1,47 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Ext; + +/// +/// App配置 +/// +public partial class T_Config: MultiTenantEntity +{ + public T_Config() { } + + public virtual int Id { get; set; } + + public virtual int? ConfigType { get; set; } + + public virtual int? ConfigId { get; set; } + + public virtual bool? IsShow { get; set; } + + public virtual string? ShowName { get; set; } + + public virtual string? Desc { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual int? ConfigNum { get; set; } + + public virtual int? ConfigNum2 { get; set; } + + public virtual string? ConfigStr { get; set; } + + public virtual string? BossId { get; set; } + + public virtual string? Plat { get; set; } + + /// + /// 州 例:亚洲 + /// + public virtual string? Continent { get; set; } + + /// + /// 国家 例:中国 + /// + public virtual string? CountryName { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Images.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Images.cs new file mode 100644 index 0000000..d310fdb --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Ext/T_Images.cs @@ -0,0 +1,53 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Ext; + +/// +/// 图片列表 +/// +public partial class T_Images: MultiTenantEntity +{ + public T_Images() { } + + public virtual int Id { get; set; } + + /// + /// 类型 + /// + public virtual int? Type { get; set; } + + /// + /// 图片Id + /// + public virtual int ImageId { get; set; } + + /// + /// 图片名称 + /// + public virtual string? Name { get; set; } + + /// + /// 图片地址 + /// + public virtual string? Url { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime? UpdateTime { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime? CreateTime { get; set; } + + /// + /// 备注 + /// + public virtual string? Desc { get; set; } + + /// + /// 语言 + /// + public virtual string Language { get; set; } = null!; +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/CloudGamingGameContext.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/CloudGamingGameContext.cs new file mode 100644 index 0000000..0ed4de2 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/CloudGamingGameContext.cs @@ -0,0 +1,527 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 云游戏实体类 +/// +public partial class CloudGamingGameContext : DbContext +{ + public CloudGamingGameContext() : base() + { + } + + /// + /// 租户信息 + /// + public ITenantInfo? TenantInfo { get; set; } + + public CloudGamingGameContext(DbContextOptions options) + : base(options) + { + } + + /// + /// + /// + /// + public CloudGamingGameContext(ITenantInfo tenantInfo) + { + this.TenantInfo= tenantInfo; + } + + + /// + /// + /// + /// + /// + public CloudGamingGameContext(ITenantInfo tenantInfo, DbContextOptions options) : base(options) + { + this.TenantInfo= tenantInfo; + } + + + /// + /// 难度列表 + /// + public virtual DbSet T_CGame_Difficultys { get; set; } + + /// + /// 游戏中配置 + /// + public virtual DbSet T_GameConfig { get; set; } + + /// + /// 游戏多选保存1 游戏类型 2 游戏标签 3 游戏心得4 游戏介绍 5 游戏操作心得 + /// + public virtual DbSet T_Game_ChildList { get; set; } + + /// + /// 游戏多选保存1 游戏类型2 游戏标签3 游戏心得 4 游戏介绍5 游戏操作心得 + /// + public virtual DbSet T_Game_ChildTypes { get; set; } + + /// + /// 游戏桌面配置 + /// + public virtual DbSet T_Game_DesktopConfig { get; set; } + + /// + /// 游戏开发商公司 + /// + public virtual DbSet T_Game_DeveloperCompanys { get; set; } + + /// + /// 开发商 + /// + public virtual DbSet T_Game_Developers { get; set; } + + /// + /// 发行方信息 + /// + public virtual DbSet T_Game_Issuers { get; set; } + + /// + /// 游戏列表 + /// + public virtual DbSet T_Game_List { get; set; } + + /// + /// 游戏操作类型 + /// + public virtual DbSet T_Game_OperationModes { get; set; } + + /// + /// 预加载游戏 + /// + public virtual DbSet T_Game_Preload { get; set; } + + /// + /// 游戏设置配置 + /// + public virtual DbSet T_Game_Setting { get; set; } + + /// + /// 游戏标签 + /// + public virtual DbSet T_Game_Tags { get; set; } + + /// + /// 游戏类型 + /// + public virtual DbSet T_Game_Types { get; set; } + + /// + /// 用户分享游戏 + /// + public virtual DbSet T_Game_UserShare { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + => optionsBuilder.UseSqlServer("Server=192.168.1.17;Database=CloudGamingGame;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;"); + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_DIFFICULTYS"); + + entity.ToTable(tb => tb.HasComment("难度列表")); + + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.DiffcultyName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_UI_GAMECONFIG"); + + entity.ToTable(tb => tb.HasComment("游戏中配置")); + + entity.Property(e => e.BuyPopId) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + entity.Property(e => e.VipBuyPopId) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_CHILDLIST"); + + entity.ToTable(tb => tb.HasComment("游戏多选保存1 游戏类型 2 游戏标签 3 游戏心得4 游戏介绍 5 游戏操作心得")); + + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameId) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序Id"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_CHILDTYPES"); + + entity.ToTable(tb => tb.HasComment("游戏多选保存1 游戏类型2 游戏标签3 游戏心得 4 游戏介绍5 游戏操作心得")); + + entity.Property(e => e.ChildIdName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_DESKTOPCONFIG"); + + entity.ToTable(tb => tb.HasComment("游戏桌面配置")); + + entity.Property(e => e.Id).HasComment("主键,唯一标识"); + entity.Property(e => e.BackGroundImage).HasComment("背景图片"); + entity.Property(e => e.CreateTime) + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.CreateUserName) + .HasMaxLength(100) + .HasComment("创建人") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameId) + .HasMaxLength(100) + .HasComment("游戏ID") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameName) + .HasMaxLength(100) + .HasComment("游戏名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.RestartImage).HasComment("重新启动图片"); + entity.Property(e => e.RestartImageStyleLeft) + .HasMaxLength(20) + .HasComment("重新启动图片Left") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.RestartImageStyleTop) + .HasMaxLength(20) + .HasComment("重新启动图片Top") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.StartArgs) + .HasMaxLength(100) + .HasComment("启动参数") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.StartPath) + .HasMaxLength(200) + .HasComment("启动路径") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.SteamImage).HasComment("Steam图片"); + entity.Property(e => e.SteamImageStyleLeft) + .HasMaxLength(20) + .HasComment("Steam图片样式") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.SteamImageStyleTop) + .HasMaxLength(20) + .HasComment("Steam图片样式") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.StopImage).HasComment("断开连接图片"); + entity.Property(e => e.StopImageStyleLeft) + .HasMaxLength(100) + .HasComment("断开连接图片Left") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.StopImageStyleTop) + .HasMaxLength(100) + .HasComment("断开连接图片Top") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime) + .HasComment("修改时间") + .HasColumnType("datetime"); + entity.Property(e => e.UpdateUserName) + .HasMaxLength(100) + .HasComment("创建时间") + .UseCollation("Chinese_PRC_CI_AS"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_DEVELOPERCOMPANYS"); + + entity.ToTable(tb => tb.HasComment("游戏开发商公司")); + + entity.Property(e => e.CompanyName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.ID).HasName("PK_T_CGAME_DEVELOPERS"); + + entity.ToTable(tb => tb.HasComment("开发商")); + + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.DeveloperName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_ISSUERS"); + + entity.ToTable(tb => tb.HasComment("发行方信息")); + + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IssuerName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.ID).HasName("PK_T_CGAME_LIST"); + + entity.ToTable(tb => tb.HasComment("游戏列表")); + + entity.Property(e => e.CPCompany) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("配对合作方公司") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CPId) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("配对id(用来放置合作游戏方游戏id,如方块科技之类的)") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CPIsFree).HasComment("配对第三方游戏是否免费0:免费,1:收费"); + entity.Property(e => e.DCompanyId).HasComment("CP开发公司"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.DeveloperId).HasComment("游戏开发方"); + entity.Property(e => e.GameCloudId) + .HasMaxLength(50) + .HasComment("CP游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameId) + .HasMaxLength(100) + .HasComment("我们自己的游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameIntroduce) + .HasComment("游戏介绍") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameIsAdapter).HasComment("游戏是否适配"); + entity.Property(e => e.GameIsCrack).HasComment("游戏是否破解"); + entity.Property(e => e.GameIsDevelopers).HasComment("游戏是否开发"); + entity.Property(e => e.GameIsEditionMouse).HasComment("是否隐藏鼠标"); + entity.Property(e => e.GameIsEditionNumber) + .HasDefaultValue(false) + .HasComment("是否有版号"); + entity.Property(e => e.GameIsVersion).HasComment("游戏是否有版权"); + entity.Property(e => e.GameIssuerId) + .HasMaxLength(100) + .HasComment("游戏发行方") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameName) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameRecommend) + .HasMaxLength(1000) + .HasComment("游戏推荐") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameSize) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameVersionDesc) + .HasMaxLength(100) + .HasComment("游戏版本详情") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameVersionNum) + .HasMaxLength(100) + .HasComment("游戏版本号") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ScreenOrientation).HasComment("屏幕方向:0-横屏 1-竖屏"); + entity.Property(e => e.ServerPattern) + .HasDefaultValue(0) + .HasComment("服务器模式:0容器,1云桌面,3海马云"); + entity.Property(e => e.SteamId) + .HasMaxLength(30) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_OPERATIONMODES"); + + entity.ToTable(tb => tb.HasComment(" 游戏操作类型")); + + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.ToTable(tb => tb.HasComment("预加载游戏")); + + entity.Property(e => e.Id).HasComment("自增"); + entity.Property(e => e.CreateTime) + .HasDefaultValueSql("(getdate())") + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.GameId) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.PreloadSum).HasComment("预加载数量"); + entity.Property(e => e.UpdateTime) + .HasDefaultValueSql("(getdate())") + .HasComment("修改时间") + .HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_GAME_SETTING"); + + entity.ToTable(tb => tb.HasComment("游戏设置配置")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IsOnline).HasComment("是否显示"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .HasComment("设置名字") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("设置排序"); + entity.Property(e => e.SettingId).HasComment("设置Id"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_TAGS"); + + entity.ToTable(tb => tb.HasComment(" 游戏标签")); + + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.TagName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_CGAME_TYPES"); + + entity.ToTable(tb => tb.HasComment("游戏类型")); + + entity.Property(e => e.CreatTime).HasColumnType("datetime"); + entity.Property(e => e.TypeDetails) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.TypeName) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.TypeNameEn) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + + }); + + modelBuilder.Entity(entity => + { + entity.ToTable(tb => tb.HasComment("用户分享游戏")); + + entity.Property(e => e.Id).HasComment("自增"); + entity.Property(e => e.AppId) + .HasDefaultValue(1) + .HasComment("AppId配置"); + entity.Property(e => e.CreateTime) + .HasDefaultValueSql("(getdate())") + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.Explain) + .HasMaxLength(500) + .HasDefaultValue("") + .HasComment("说明") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameId) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameName) + .HasMaxLength(50) + .HasDefaultValue("‘’") + .HasComment("游戏名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.NickName) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("用户昵称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UserHeadPortrait).HasComment("用户头像"); + entity.Property(e => e.UserHeadPortraitFrame).HasComment("用户头像框"); + + }); + + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_CGame_Difficultys.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_CGame_Difficultys.cs new file mode 100644 index 0000000..74e8226 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_CGame_Difficultys.cs @@ -0,0 +1,23 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 难度列表 +/// +public partial class T_CGame_Difficultys: MultiTenantEntity +{ + public T_CGame_Difficultys() { } + + public virtual int Id { get; set; } + + public virtual int DifficultyID { get; set; } + + public virtual string? DiffcultyName { get; set; } + + public virtual string? Desc { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_GameConfig.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_GameConfig.cs new file mode 100644 index 0000000..bd041f4 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_GameConfig.cs @@ -0,0 +1,37 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏中配置 +/// +public partial class T_GameConfig: MultiTenantEntity +{ + public T_GameConfig() { } + + public virtual int Id { get; set; } + + public virtual int? ConfigType { get; set; } + + public virtual int? ConfigId { get; set; } + + public virtual int? BuyBgImageId { get; set; } + + public virtual int? BuyBgUIId { get; set; } + + public virtual int? BuySubmitImageId { get; set; } + + public virtual int? BuySubmitUIId { get; set; } + + public virtual int? BuyBackImageId { get; set; } + + public virtual int? BuyBackUIId { get; set; } + + public virtual string? VipBuyPopId { get; set; } + + public virtual string? BuyPopId { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildList.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildList.cs new file mode 100644 index 0000000..7d0c9a1 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildList.cs @@ -0,0 +1,30 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏多选保存1 游戏类型 2 游戏标签 3 游戏心得4 游戏介绍 5 游戏操作心得 +/// +public partial class T_Game_ChildList: MultiTenantEntity +{ + public T_Game_ChildList() { } + + public virtual int Id { get; set; } + + public virtual string? GameId { get; set; } + + public virtual int? ChildType { get; set; } + + public virtual int? ChildId { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual string? Desc { get; set; } + + public virtual int Odds { get; set; } + + /// + /// 排序Id + /// + public virtual int OrderId { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildTypes.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildTypes.cs new file mode 100644 index 0000000..25ca8ce --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_ChildTypes.cs @@ -0,0 +1,21 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏多选保存1 游戏类型2 游戏标签3 游戏心得 4 游戏介绍5 游戏操作心得 +/// +public partial class T_Game_ChildTypes: MultiTenantEntity +{ + public T_Game_ChildTypes() { } + + public virtual int Id { get; set; } + + public virtual int? ChildType { get; set; } + + public virtual string? ChildIdName { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DesktopConfig.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DesktopConfig.cs new file mode 100644 index 0000000..13c8b09 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DesktopConfig.cs @@ -0,0 +1,106 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏桌面配置 +/// +public partial class T_Game_DesktopConfig: MultiTenantEntity +{ + public T_Game_DesktopConfig() { } + + /// + /// 主键,唯一标识 + /// + public virtual int Id { get; set; } + + /// + /// 游戏ID + /// + public virtual string GameId { get; set; } = null!; + + /// + /// 游戏名称 + /// + public virtual string GameName { get; set; } = null!; + + /// + /// 背景图片 + /// + public virtual int? BackGroundImage { get; set; } + + /// + /// 重新启动图片 + /// + public virtual int? RestartImage { get; set; } + + /// + /// 重新启动图片Top + /// + public virtual string? RestartImageStyleTop { get; set; } + + /// + /// 重新启动图片Left + /// + public virtual string? RestartImageStyleLeft { get; set; } + + /// + /// 断开连接图片 + /// + public virtual int? StopImage { get; set; } + + /// + /// 断开连接图片Top + /// + public virtual string? StopImageStyleTop { get; set; } + + /// + /// 断开连接图片Left + /// + public virtual string? StopImageStyleLeft { get; set; } + + /// + /// Steam图片 + /// + public virtual int? SteamImage { get; set; } + + /// + /// Steam图片样式 + /// + public virtual string? SteamImageStyleTop { get; set; } + + /// + /// Steam图片样式 + /// + public virtual string? SteamImageStyleLeft { get; set; } + + /// + /// 启动路径 + /// + public virtual string? StartPath { get; set; } + + /// + /// 启动参数 + /// + public virtual string? StartArgs { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime? CreateTime { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime? UpdateTime { get; set; } + + /// + /// 创建人 + /// + public virtual string? CreateUserName { get; set; } + + /// + /// 创建时间 + /// + public virtual string? UpdateUserName { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DeveloperCompanys.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DeveloperCompanys.cs new file mode 100644 index 0000000..e1c0bc7 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_DeveloperCompanys.cs @@ -0,0 +1,23 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏开发商公司 +/// +public partial class T_Game_DeveloperCompanys: MultiTenantEntity +{ + public T_Game_DeveloperCompanys() { } + + public virtual int Id { get; set; } + + public virtual int? CompanyId { get; set; } + + public virtual string? CompanyName { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Developers.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Developers.cs new file mode 100644 index 0000000..7525cdd --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Developers.cs @@ -0,0 +1,23 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 开发商 +/// +public partial class T_Game_Developers: MultiTenantEntity +{ + public T_Game_Developers() { } + + public virtual int ID { get; set; } + + public virtual int DeveloperId { get; set; } + + public virtual string? DeveloperName { get; set; } + + public virtual string? Desc { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Issuers.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Issuers.cs new file mode 100644 index 0000000..6a54753 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Issuers.cs @@ -0,0 +1,23 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 发行方信息 +/// +public partial class T_Game_Issuers: MultiTenantEntity +{ + public T_Game_Issuers() { } + + public virtual int Id { get; set; } + + public virtual int IssuerId { get; set; } + + public virtual string? IssuerName { get; set; } + + public virtual string? Desc { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_List.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_List.cs new file mode 100644 index 0000000..dd4ba58 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_List.cs @@ -0,0 +1,131 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏列表 +/// +public partial class T_Game_List: MultiTenantEntity +{ + public T_Game_List() { } + + public virtual int ID { get; set; } + + /// + /// 我们自己的游戏Id + /// + public virtual string GameId { get; set; } = null!; + + public virtual string? GameName { get; set; } + + public virtual int? GameDifficultyId { get; set; } + + public virtual int? GamePeopleNum { get; set; } + + public virtual bool? GameIsSaveFile { get; set; } + + /// + /// 游戏是否破解 + /// + public virtual bool? GameIsCrack { get; set; } + + /// + /// 游戏是否适配 + /// + public virtual bool? GameIsAdapter { get; set; } + + /// + /// 游戏是否有版权 + /// + public virtual bool? GameIsVersion { get; set; } + + /// + /// 游戏版本号 + /// + public virtual string? GameVersionNum { get; set; } + + /// + /// 游戏版本详情 + /// + public virtual string? GameVersionDesc { get; set; } + + /// + /// 游戏发行方 + /// + public virtual string? GameIssuerId { get; set; } + + /// + /// 游戏是否开发 + /// + public virtual bool? GameIsDevelopers { get; set; } + + /// + /// CP游戏Id + /// + public virtual string? GameCloudId { get; set; } + + /// + /// CP开发公司 + /// + public virtual int? DCompanyId { get; set; } + + /// + /// 游戏开发方 + /// + public virtual int? DeveloperId { get; set; } + + public virtual int? OrderId { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual string? Desc { get; set; } + + /// + /// 游戏介绍 + /// + public virtual string? GameIntroduce { get; set; } + + public virtual string? GameSize { get; set; } + + /// + /// 配对id(用来放置合作游戏方游戏id,如方块科技之类的) + /// + public virtual string CPId { get; set; } = null!; + + /// + /// 配对合作方公司 + /// + public virtual string CPCompany { get; set; } = null!; + + /// + /// 配对第三方游戏是否免费0:免费,1:收费 + /// + public virtual int CPIsFree { get; set; } + + /// + /// 屏幕方向:0-横屏 1-竖屏 + /// + public virtual int ScreenOrientation { get; set; } + + /// + /// 服务器模式:0容器,1云桌面,3海马云 + /// + public virtual int? ServerPattern { get; set; } + + /// + /// 是否有版号 + /// + public virtual bool? GameIsEditionNumber { get; set; } + + /// + /// 游戏推荐 + /// + public virtual string? GameRecommend { get; set; } + + /// + /// 是否隐藏鼠标 + /// + public virtual bool? GameIsEditionMouse { get; set; } + + public virtual string? SteamId { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_OperationModes.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_OperationModes.cs new file mode 100644 index 0000000..a66be72 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_OperationModes.cs @@ -0,0 +1,23 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏操作类型 +/// +public partial class T_Game_OperationModes: MultiTenantEntity +{ + public T_Game_OperationModes() { } + + public virtual int Id { get; set; } + + public virtual int OperationModeId { get; set; } + + public virtual string Name { get; set; } = null!; + + public virtual string? Desc { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Preload.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Preload.cs new file mode 100644 index 0000000..8859ecb --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Preload.cs @@ -0,0 +1,36 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 预加载游戏 +/// +public partial class T_Game_Preload: MultiTenantEntity +{ + public T_Game_Preload() { } + + /// + /// 自增 + /// + public virtual int Id { get; set; } + + /// + /// 游戏Id + /// + public virtual string GameId { get; set; } = null!; + + /// + /// 预加载数量 + /// + public virtual int PreloadSum { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime CreateTime { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime UpdateTime { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Setting.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Setting.cs new file mode 100644 index 0000000..ae4ab30 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Setting.cs @@ -0,0 +1,45 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏设置配置 +/// +public partial class T_Game_Setting: MultiTenantEntity +{ + public T_Game_Setting() { } + + public virtual int Id { get; set; } + + /// + /// 设置Id + /// + public virtual int? SettingId { get; set; } + + /// + /// 设置名字 + /// + public virtual string? Name { get; set; } + + /// + /// 设置排序 + /// + public virtual int? OrderId { get; set; } + + /// + /// 是否显示 + /// + public virtual bool? IsOnline { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual string? Desc { get; set; } + + public virtual bool? IsOptional { get; set; } + + public virtual int? ImageId { get; set; } + + public virtual int? Grade { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Tags.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Tags.cs new file mode 100644 index 0000000..5633d68 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Tags.cs @@ -0,0 +1,23 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏标签 +/// +public partial class T_Game_Tags: MultiTenantEntity +{ + public T_Game_Tags() { } + + public virtual int Id { get; set; } + + public virtual int TagID { get; set; } + + public virtual string TagName { get; set; } = null!; + + public virtual string? Desc { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Types.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Types.cs new file mode 100644 index 0000000..39d56b4 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_Types.cs @@ -0,0 +1,31 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 游戏类型 +/// +public partial class T_Game_Types: MultiTenantEntity +{ + public T_Game_Types() { } + + public virtual int Id { get; set; } + + public virtual int TypeId { get; set; } + + public virtual string TypeName { get; set; } = null!; + + public virtual string? TypeDetails { get; set; } + + public virtual DateTime? CreatTime { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual int? Type { get; set; } + + public virtual int? OrderId { get; set; } + + public virtual bool? IsOnline { get; set; } + + public virtual string? TypeNameEn { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_UserShare.cs b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_UserShare.cs new file mode 100644 index 0000000..7980413 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/Db_Game/T_Game_UserShare.cs @@ -0,0 +1,56 @@ +using System; + +namespace CloudGaming.GameModel.Db.Db_Game; + +/// +/// 用户分享游戏 +/// +public partial class T_Game_UserShare: MultiTenantEntity +{ + public T_Game_UserShare() { } + + /// + /// 自增 + /// + public virtual int Id { get; set; } + + /// + /// 用户昵称 + /// + public virtual string NickName { get; set; } = null!; + + /// + /// 用户头像 + /// + public virtual int UserHeadPortrait { get; set; } + + /// + /// 用户头像框 + /// + public virtual int UserHeadPortraitFrame { get; set; } + + /// + /// 游戏Id + /// + public virtual string GameId { get; set; } = null!; + + /// + /// 游戏名称 + /// + public virtual string GameName { get; set; } = null!; + + /// + /// 说明 + /// + public virtual string Explain { get; set; } = null!; + + /// + /// 创建时间 + /// + public virtual DateTime CreateTime { get; set; } + + /// + /// AppId配置 + /// + public virtual int AppId { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/Db/efcore-gen.md b/src/CloudGaming/Model/CloudGaming.GameModel/Db/efcore-gen.md new file mode 100644 index 0000000..f93764b --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/Db/efcore-gen.md @@ -0,0 +1,8 @@ + +##在API项目里面执行,使用连接字符串名称,生成代码到model项目 +```sh +--game +dotnet ef dbcontext scaffold "Server=192.168.1.17;Database=CloudGamingGame;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer -o Db/Db_Game/ --use-database-names --no-pluralize --force +--Ext +dotnet ef dbcontext scaffold "Server=192.168.1.17;Database=CloudGamingCBT;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer -o Db/Db_Ext/ --use-database-names --no-pluralize --force +``` \ No newline at end of file diff --git a/src/CloudGaming/Model/CloudGaming.GameModel/GlobalUsings.cs b/src/CloudGaming/Model/CloudGaming.GameModel/GlobalUsings.cs new file mode 100644 index 0000000..0a7e25b --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.GameModel/GlobalUsings.cs @@ -0,0 +1,2 @@ +global using HuanMeng.DotNetCore.MultiTenant; +global using HuanMeng.DotNetCore.MultiTenant.Contract; diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/CloudGamingPhoneContext.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/CloudGamingPhoneContext.cs new file mode 100644 index 0000000..8a256e8 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/CloudGamingPhoneContext.cs @@ -0,0 +1,1141 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 云游戏实体类 +/// +public partial class CloudGamingPhoneContext : MultiTenantDbContext//DbContext +{ + public CloudGamingPhoneContext() : base(null) + { + } + + public CloudGamingPhoneContext(DbContextOptions options) + : base(null, options) + { + } + + /// + /// + /// + /// + public CloudGamingPhoneContext(ITenantInfo tenantInfo) : base(tenantInfo) + { + + } + + + /// + /// + /// + /// + /// + public CloudGamingPhoneContext(ITenantInfo tenantInfo, DbContextOptions options) : base(tenantInfo, options) + { + } + + + /// + /// 用户头像框 + /// + public virtual DbSet T_AvatarFrame { get; set; } + + /// + /// Epg分组配置表 + /// + public virtual DbSet T_Epg_CategoryCfg { get; set; } + + /// + /// Epg分组配置表 + /// + public virtual DbSet T_Epg_CategoryCfg_Export { get; set; } + + /// + /// Epg配置表 + /// + public virtual DbSet T_Epg_Cfg { get; set; } + + /// + /// Epg配置表 + /// + public virtual DbSet T_Epg_Cfg_Export { get; set; } + + /// + /// 悬浮球配置 + /// + public virtual DbSet T_FloatBall_Cfg { get; set; } + + /// + /// 游戏配置 + /// + public virtual DbSet T_GameCBT { get; set; } + + /// + /// 游戏虚拟手柄,虚拟键盘设置 + /// + public virtual DbSet T_GameInputSetting { get; set; } + + /// + /// 游戏按键方案配置表 + /// + public virtual DbSet T_GameKeyPlan_CBT { get; set; } + + /// + /// 按键表 + /// + public virtual DbSet T_GamePressKey { get; set; } + + /// + /// 游戏按键方案 + /// + public virtual DbSet T_GamePressKeyPlan { get; set; } + + /// + /// 游戏展示 + /// + public virtual DbSet T_GameShow { get; set; } + + /// + /// 游戏减价配置表 + /// + public virtual DbSet T_Game_DiscountCfg { get; set; } + + /// + /// 虚拟键盘配置表 + /// + public virtual DbSet T_KeyboardSetting { get; set; } + + /// + /// 方案按键配置表 + /// + public virtual DbSet T_PlanKey_CBT { get; set; } + + /// + /// 通用弹框配置 + /// + public virtual DbSet T_Popup { get; set; } + + /// + /// 弹窗按钮 + /// + public virtual DbSet T_PopupBtn { get; set; } + + /// + /// 七日签到奖励配置表 + /// + public virtual DbSet T_SevenDaySignIn_AwardCBT { get; set; } + + /// + /// 签到类型 + /// + public virtual DbSet T_SignTypes { get; set; } + + /// + /// 系统公告 + /// + public virtual DbSet T_SysMessage { get; set; } + + /// + /// 位置大小类型列表 + /// + public virtual DbSet T_UITypes { get; set; } + + /// + /// UI集合 + /// + public virtual DbSet T_UIs { get; set; } + + /// + /// 视频列表 + /// + public virtual DbSet T_Videos { get; set; } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + => optionsBuilder.UseSqlServer("Server=192.168.1.17;Database=CloudGamingPhone;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;"); + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_AVATARFRAME"); + + entity.ToTable(tb => tb.HasComment("用户头像框")); + + + entity.Property(e => e.AvatarId) + .HasMaxLength(50) + .HasComment("头像框Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId2).HasComment("头像框备注用图"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .HasComment("头像框名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.NameColor) + .HasMaxLength(7) + .HasDefaultValue("222222") + .HasComment("头像框名称色号") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.EpgCategory).HasName("PK_T_EPG_CATEGORYCFG"); + + entity.ToTable(tb => tb.HasComment("Epg分组配置表")); + + entity.Property(e => e.EpgCategory).HasComment("epg分组Id"); + + entity.Property(e => e.EpgParentCategory).HasComment("epg父组Id, 0无"); + entity.Property(e => e.Extend1) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段1") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend2) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段2") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend3) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段3") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IdName) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("代码标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId).HasComment("图片-预留"); + entity.Property(e => e.ImageId2).HasComment("图片-预留"); + entity.Property(e => e.IsNotCheckingShow) + .HasDefaultValue(true) + .HasComment("审核模式下不显示"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.IsOnlineQuickStartPopUp).HasComment("联机游戏快速启动弹窗"); + entity.Property(e => e.IsQuickStartPopUp).HasComment("快速启动弹窗"); + entity.Property(e => e.IsStandardClose).HasComment("非审核(正常)模式是否关闭"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .HasComment("分组名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OnlineBossId) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("上线渠道,0不限制") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OnlinePlatform) + .HasMaxLength(100) + .IsUnicode(false) + .HasComment("上线平台") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序-正序"); + entity.Property(e => e.ShowNum_Index).HasComment("首页展示数量"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.EpgCategory).HasName("PK_T_EPG_CATEGORYCFG_EXP"); + + entity.ToTable(tb => tb.HasComment("Epg分组配置表")); + + entity.Property(e => e.EpgCategory) + .ValueGeneratedNever() + .HasComment("epg分组Id"); + entity.Property(e => e.EpgParentCategory).HasComment("epg父组Id, 0无"); + entity.Property(e => e.Extend1) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段1") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend2) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段2") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend3) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段3") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IdName) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("代码标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId).HasComment("图片-预留"); + entity.Property(e => e.ImageId2).HasComment("图片-预留"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .HasComment("分组名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OnlineBossId) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("上线渠道,0不限制") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OnlinePlatform) + .HasMaxLength(100) + .IsUnicode(false) + .HasComment("上线平台") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序-正序"); + entity.Property(e => e.ShowNum_Index).HasComment("首页展示数量"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.EpgId).HasName("PK_T_EPG_CFG"); + + entity.ToTable(tb => tb.HasComment("Epg配置表")); + + entity.Property(e => e.EpgId).HasComment("标识"); + entity.Property(e => e.Continent) + .HasMaxLength(200) + .HasComment("州") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CornerIconId).HasComment("角标"); + entity.Property(e => e.CountryName) + .HasMaxLength(200) + .HasComment("国家") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.EndEnableTime) + .HasComment("结束时间") + .HasColumnType("datetime"); + entity.Property(e => e.EpgCategory).HasComment("epg分组"); + entity.Property(e => e.Extend1) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段1") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend2) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段2") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend3) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段3") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IdName) + .HasMaxLength(50) + .IsUnicode(false) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId).HasComment("图片"); + entity.Property(e => e.ImageId2).HasComment("图片2-预留"); + entity.Property(e => e.ImageId3).HasComment("图片3"); + entity.Property(e => e.ImageResStyle) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("使用原始资源图样式n_n") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IsCheckingClose).HasComment("审核模式是否关闭"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.IsOnlineQuickStartPopUp).HasComment("联机快速启动"); + entity.Property(e => e.IsStandardClose).HasComment("非审核(正常)模式是否关闭"); + entity.Property(e => e.OnlineBossId) + .HasMaxLength(50) + .IsUnicode(false) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OnlinePlatform) + .HasMaxLength(50) + .IsUnicode(false) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序-正序"); + entity.Property(e => e.ResId) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("资源Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ResParams) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("资源参数") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ResType).HasComment("资源类型"); + entity.Property(e => e.StartEnableTime) + .HasComment("启用时间") + .HasColumnType("datetime"); + entity.Property(e => e.StyleType) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("展示样式:more") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Title) + .HasMaxLength(50) + .HasComment("标题") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Title2) + .HasMaxLength(200) + .HasComment("标题2") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime) + .HasComment("更新时间") + .HasColumnType("datetime"); + entity.Property(e => e.VideoIdentification) + .HasMaxLength(200) + .HasComment("视频标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.VideoUrl) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("视频地址") + .UseCollation("Chinese_PRC_CI_AS"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.EpgId).HasName("PK_T_EPG_CFG_EXPORT"); + + entity.ToTable(tb => tb.HasComment("Epg配置表")); + + entity.Property(e => e.EpgId) + .ValueGeneratedNever() + .HasComment("标识"); + entity.Property(e => e.CornerIconId).HasComment("角标"); + entity.Property(e => e.EpgCategory).HasComment("epg分组"); + entity.Property(e => e.Extend1) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段1") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend2) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段2") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Extend3) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("扩展字段3") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IdName) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("代码标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId).HasComment("图片"); + entity.Property(e => e.ImageId2).HasComment("图片2"); + entity.Property(e => e.ImageResStyle) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("使用原始资源图样式n_n") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.OnlineBossId) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("上线渠道,0不限") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OnlinePlatform) + .HasMaxLength(100) + .IsUnicode(false) + .HasComment("上线平台") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序-正序"); + entity.Property(e => e.ResId) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("资源Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ResParams) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("资源参数") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ResType).HasComment("资源类型"); + entity.Property(e => e.SpecialId).HasComment("特殊标志"); + entity.Property(e => e.StyleType) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("展示样式:more") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Title) + .HasMaxLength(50) + .HasComment("标题") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Title2) + .HasMaxLength(200) + .HasComment("标题2") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime) + .HasComment("更新时间") + .HasColumnType("datetime"); + entity.Property(e => e.VideoUrl) + .HasMaxLength(200) + .IsUnicode(false) + .HasComment("视频地址") + .UseCollation("Chinese_PRC_CI_AS"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_FLOATBALL_CFG"); + + entity.ToTable(tb => tb.HasComment("悬浮球配置")); + + + entity.Property(e => e.BossId) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("渠道号id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.HideAfterClick).HasComment("是否点击后隐藏"); + entity.Property(e => e.ImageId1).HasComment("状态-显示"); + entity.Property(e => e.ImageId2).HasComment("状态-隐藏"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .HasComment("名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Pos1).HasComment("坐标x"); + entity.Property(e => e.Pos2).HasComment("坐标y"); + entity.Property(e => e.ResId) + .HasMaxLength(1000) + .IsUnicode(false) + .HasComment("资源Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ResType).HasComment("资源类型"); + entity.Property(e => e.UpdateTime) + .HasComment("修改时间") + .HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_GAMECBT"); + + entity.ToTable(tb => tb.HasComment("游戏配置")); + + entity.Property(e => e.ConsumeDiamondNumHour).HasComment("每小时钻石费用"); + entity.Property(e => e.ConsumeDiamondNumHourVip).HasComment("每小时VIP钻石费用"); + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(200) + .HasComment("备注") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.FriendlyTips) + .HasMaxLength(50) + .HasComment("启动提示"); + entity.Property(e => e.GameBgImgId).HasComment("游戏详情也配置背景"); + entity.Property(e => e.GameGroup).HasComment("游戏分组:0单机,1steam,2网游"); + entity.Property(e => e.GameId) + .HasMaxLength(100) + .HasComment("游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameImageId).HasComment("游戏Icon"); + entity.Property(e => e.GameLoadBgImageId).HasComment("游戏加载图"); + entity.Property(e => e.GameLoadTime).HasComment("Loading时间"); + entity.Property(e => e.GameName) + .HasMaxLength(50) + .HasComment("游戏名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageIconId).HasComment("游戏icon"); + entity.Property(e => e.ImageId_Banner).HasComment("顶部图片"); + entity.Property(e => e.ImageId_JXTJ).HasComment("精选推荐"); + entity.Property(e => e.ImageId_TJ).HasComment("推荐大图"); + entity.Property(e => e.ImageId_ZJTC).HasComment("最近推出"); + entity.Property(e => e.ImageId_ZXTJ).HasComment("尊享推荐"); + entity.Property(e => e.IsDiscount) + .HasDefaultValue(true) + .HasComment("是否参与优惠套餐活动(比如包夜卡,周中卡之类的)"); + entity.Property(e => e.IsLimitToVip).HasComment("VIP专属"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.IsTest).HasComment("是否测试游戏"); + entity.Property(e => e.OnlinePlatform) + .HasMaxLength(50) + .HasDefaultValue("") + .HasComment("平台类型,为空全选") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序"); + entity.Property(e => e.Score) + .HasMaxLength(30) + .HasComment("评分") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Title2) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + entity.Property(e => e.VideoIdentification) + .HasMaxLength(200) + .HasComment("视频标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.VideoUrl) + .HasMaxLength(500) + .IsUnicode(false) + .HasComment("视频地址") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.VipContinent) + .HasMaxLength(1000) + .HasComment("洲") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.VipCountryName) + .HasMaxLength(1000) + .HasComment("vip国家") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.VipTypeLimit) + .HasDefaultValue(1) + .HasComment("会员等级限制"); + entity.Property(e => e.VipVisible).HasComment("仅会员可见"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.GameId).HasName("PK_T_GAMEINPUTSETTING"); + + entity.ToTable(tb => tb.HasComment("游戏虚拟手柄,虚拟键盘设置")); + + entity.Property(e => e.GameId) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.IsGamePad).HasComment("是否有手柄"); + entity.Property(e => e.IsKeyboard).HasComment("是否有虚拟键盘"); + entity.Property(e => e.IsToggleKeyboard).HasComment("是否显示切换键盘按钮"); + entity.Property(e => e.Remark) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_GAMEKEYPLAN_CBT"); + + entity.ToTable(tb => tb.HasComment("游戏按键方案配置表")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.GameId) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("游戏id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.OrderId) + .HasDefaultValue(1) + .HasComment("排序"); + entity.Property(e => e.PlanName) + .HasMaxLength(100) + .HasComment("方案名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.PlanType) + .HasDefaultValue(1) + .HasComment("方案类型1键盘 2手柄"); + entity.Property(e => e.Remark) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_GAMEPRESSKEY"); + + entity.ToTable(tb => tb.HasComment("按键表")); + + entity.Property(e => e.Id).HasComment("主键"); + entity.Property(e => e.CreateDateTime) + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.GamePressKeyGroupBy).HasComment("按键分组,手柄还是键盘"); + entity.Property(e => e.GamePressKeyPlanId).HasComment("所属方案"); + entity.Property(e => e.PositionX) + .HasComment("按键X坐标") + .HasColumnType("decimal(5, 2)"); + entity.Property(e => e.PositionY) + .HasComment("按键Y坐标") + .HasColumnType("decimal(5, 2)"); + entity.Property(e => e.PressKey) + .HasMaxLength(50) + .HasComment("按键值") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.PressKeyHeight).HasComment("按键高度"); + entity.Property(e => e.PressKeyIdentification) + .HasMaxLength(64) + .HasComment("按键标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.PressKeyImageId).HasComment("按键图片"); + entity.Property(e => e.PressKeyIndex).HasComment("按键序号"); + entity.Property(e => e.PressKeyMagnification) + .HasComment("按键放大倍数") + .HasColumnType("decimal(5, 2)"); + entity.Property(e => e.PressKeyName) + .HasMaxLength(50) + .HasComment("按键名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.PressKeySelectImageId).HasComment("选中图片"); + entity.Property(e => e.PressKeyType).HasComment("按键类型,鼠标、键盘还是手柄的功能按键等"); + entity.Property(e => e.PressKeyWidth).HasComment("按键宽度"); + entity.Property(e => e.UpdateDateTime) + .HasComment("修改时间") + .HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_GAMEPRESSKEYPLAN"); + + entity.ToTable(tb => tb.HasComment("游戏按键方案")); + + entity.Property(e => e.Id).HasComment("主键"); + entity.Property(e => e.CreateDateTime) + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.GameId) + .HasMaxLength(50) + .HasComment("所属游戏编号") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GamePressKeyDefault).HasComment("是否默认,"); + entity.Property(e => e.GamePressKeyGroupBy).HasComment("方案分组,键盘还是手柄"); + entity.Property(e => e.GamePressKeyPlanName) + .HasMaxLength(50) + .HasComment("按键方案名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GamePressKeyRemark) + .HasMaxLength(200) + .HasComment("方案备注") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Identification) + .HasMaxLength(64) + .HasComment("标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IsEnable).HasComment("是否启用"); + entity.Property(e => e.UpdateDateTime) + .HasComment("修改时间") + .HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_GAMESHOW"); + + entity.ToTable(tb => tb.HasComment("游戏展示")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.DataId).HasComment("图片或者视频的Id"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameId) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Type).HasComment("1图片,2视频 展示类型"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.GameId).HasName("PK_T_GME_DISCOUNTCFG"); + + entity.ToTable(tb => tb.HasComment("游戏减价配置表")); + + entity.Property(e => e.GameId) + .HasMaxLength(50) + .IsUnicode(false) + .HasComment("游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ChargeDesc) + .HasMaxLength(100) + .HasComment("折扣资费描述-自定义") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.DiscountDiamondNum).HasComment("折扣钻石价格"); + entity.Property(e => e.DiscountDiamondNumHour).HasComment("折扣每小时钻石费用"); + entity.Property(e => e.DiscountDiamondNumHourVip).HasComment("每小时折扣VIP钻石费用"); + entity.Property(e => e.DiscountMoguNum).HasComment("折扣蘑菇币价格"); + entity.Property(e => e.DiscountMoguNumHour).HasComment("折扣每小时蘑菇币费用"); + entity.Property(e => e.DiscountMoguNumHourVip).HasComment("每小时折扣VIP蘑菇币费用"); + entity.Property(e => e.EndTime) + .HasComment("结束时间") + .HasColumnType("datetime"); + entity.Property(e => e.StartTime) + .HasComment("开始时间") + .HasColumnType("datetime"); + entity.Property(e => e.Status).HasComment("状态-1禁用"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_KEYBOARDSETTING"); + + entity.ToTable(tb => tb.HasComment("虚拟键盘配置表")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.GameId) + .HasMaxLength(50) + .HasComment("游戏Id") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.GameIdentification) + .HasMaxLength(100) + .HasComment("游戏按键标识") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.IsKeyDrag).HasComment("是否可以拖动"); + entity.Property(e => e.IsOnline).HasComment("是否有这个键值\r\n 没有这个选项表示用基本的\r\n 如果有这个选项并且是ture 就用这个键值\r\n 如果有这个选项并且是false就表示没有这个键值"); + entity.Property(e => e.IsPressLock).HasComment("是否按下锁定"); + entity.Property(e => e.KeyIndex) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.KeyType).HasComment("按键类型0键盘1手柄"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .HasComment("键的名字") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Remark) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UIId).HasComment("键值位置,大小"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_PLANKEY_CBT"); + + entity.ToTable(tb => tb.HasComment("方案按键配置表")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.H).HasComment("h坐标或者高度"); + entity.Property(e => e.ImageId).HasComment("默认图片id"); + entity.Property(e => e.KeyIndex) + .HasMaxLength(100) + .HasComment("键盘对应的ascii码") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.KeyName) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.PlanId).HasComment("方案id"); + entity.Property(e => e.Remark) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.SelectImageId).HasComment("选中图片id"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + entity.Property(e => e.W).HasComment("w坐标或者宽度"); + entity.Property(e => e.X).HasComment("x坐标"); + entity.Property(e => e.Y).HasComment("y坐标"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_POPOUT"); + + entity.ToTable(tb => tb.HasComment("通用弹框配置")); + + entity.Property(e => e.BossId) + .HasMaxLength(20) + .HasComment("上线渠道号") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Btn_Bg).HasComment("弹框背景图"); + entity.Property(e => e.Btn_Close) + .HasDefaultValue(0) + .HasComment("关闭按钮图片"); + entity.Property(e => e.Btn_OK) + .HasDefaultValue(0) + .HasComment("确认按钮图片"); + entity.Property(e => e.CreateTime) + .HasComment("创建时间") + .HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.EndTime) + .HasComment("结束时间") + .HasColumnType("datetime"); + entity.Property(e => e.Extend1) + .HasMaxLength(200) + .HasComment("扩展参数1") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId_Text) + .HasDefaultValue(0) + .HasComment("内容图片Id"); + entity.Property(e => e.IsOnline).HasComment("是否启用"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .HasComment("弹框名字") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.OrderId).HasComment("排序"); + entity.Property(e => e.PlatformId) + .HasMaxLength(20) + .HasComment("上线平台") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.StartTime) + .HasComment("开始时间") + .HasColumnType("datetime"); + entity.Property(e => e.Text) + .HasComment("弹窗显示文字") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Type).HasComment("弹框类型"); + entity.Property(e => e.UpdateTime) + .HasComment("修改时间") + .HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__T_PopupB__3214EC0745B6593D"); + + entity.ToTable(tb => tb.HasComment("弹窗按钮")); + + entity.Property(e => e.Action) + .HasMaxLength(100) + .HasComment("动作"); + entity.Property(e => e.DelaySecond).HasComment("延迟几秒显示按钮"); + entity.Property(e => e.Height).HasComment("高度"); + entity.Property(e => e.Image).HasComment("背景图片"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .HasComment("按钮名称"); + entity.Property(e => e.Text) + .HasMaxLength(100) + .HasComment("文本"); + entity.Property(e => e.Widht).HasComment("宽度"); + entity.Property(e => e.X).HasComment("X坐标"); + entity.Property(e => e.Y).HasComment("Y坐标"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_SEVENDAYSIGNIN_AWARDCBT"); + + entity.ToTable(tb => tb.HasComment("七日签到奖励配置表")); + + entity.Property(e => e.AwardType).HasComment("1钻石 2蘑菇币 3贡献值 4一日会员"); + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Remark) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_SIGNTYPES"); + + entity.ToTable(tb => tb.HasComment("签到类型")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Type).HasComment("签到类型"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_SYSMESSAGE"); + + entity.ToTable(tb => tb.HasComment("系统公告")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.EndTime) + .HasDefaultValueSql("(getdate())") + .HasColumnType("datetime"); + entity.Property(e => e.MessageId).HasComment("消息Id"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .HasComment("名称") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.StartTime) + .HasDefaultValueSql("(getdate())") + .HasColumnType("datetime"); + entity.Property(e => e.Text) + .HasComment("内容") + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_UITYPES"); + + entity.ToTable(tb => tb.HasComment("位置大小类型列表")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_UIS"); + + entity.ToTable(tb => tb.HasComment("UI集合")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.ImageId).HasComment("未选中图片id"); + entity.Property(e => e.Name) + .HasMaxLength(50) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Scale) + .HasDefaultValue(1.0) + .HasComment("放大倍数"); + entity.Property(e => e.SelectedImage).HasComment("选中图片id"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK_T_VIDEOS"); + + entity.ToTable(tb => tb.HasComment("视频列表")); + + entity.Property(e => e.CreateTime).HasColumnType("datetime"); + entity.Property(e => e.Desc) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.Name) + .HasMaxLength(100) + .UseCollation("Chinese_PRC_CI_AS"); + entity.Property(e => e.UpdateTime).HasColumnType("datetime"); + entity.Property(e => e.Url) + .HasMaxLength(200) + .UseCollation("Chinese_PRC_CI_AS"); + //添加全局筛选器 + if (this.TenantInfo != null) + { + entity.HasQueryFilter(it => it.TenantId == this.TenantInfo.TenantId); + } + }); + + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_AvatarFrame.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_AvatarFrame.cs new file mode 100644 index 0000000..dda9d0e --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_AvatarFrame.cs @@ -0,0 +1,48 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 用户头像框 +/// +public partial class T_AvatarFrame: MultiTenantEntity +{ + public T_AvatarFrame() { } + + public virtual int Id { get; set; } + + /// + /// 头像框Id + /// + public virtual string? AvatarId { get; set; } + + /// + /// 头像框名称 + /// + public virtual string? Name { get; set; } + + public virtual int? ImageId { get; set; } + + public virtual int? VipType { get; set; } + + public virtual int? OrderId { get; set; } + + public virtual bool? IsOnline { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } + + /// + /// 头像框备注用图 + /// + public virtual int? ImageId2 { get; set; } + + /// + /// 头像框名称色号 + /// + public virtual string NameColor { get; set; } = null!; + +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg.cs new file mode 100644 index 0000000..50f5f13 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg.cs @@ -0,0 +1,103 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// Epg分组配置表 +/// +public partial class T_Epg_CategoryCfg: MultiTenantEntity +{ + public T_Epg_CategoryCfg() { } + + /// + /// epg分组Id + /// + public virtual int EpgCategory { get; set; } + + /// + /// epg父组Id, 0无 + /// + public virtual int EpgParentCategory { get; set; } + + /// + /// 分组名称 + /// + public virtual string? Name { get; set; } + + /// + /// 排序-正序 + /// + public virtual int OrderId { get; set; } + + /// + /// 是否启用 + /// + public virtual bool IsOnline { get; set; } + + /// + /// 扩展字段1 + /// + public virtual string? Extend1 { get; set; } + + /// + /// 扩展字段2 + /// + public virtual string? Extend2 { get; set; } + + /// + /// 扩展字段3 + /// + public virtual string? Extend3 { get; set; } + + /// + /// 上线平台 + /// + public virtual string? OnlinePlatform { get; set; } + + /// + /// 首页展示数量 + /// + public virtual int ShowNum_Index { get; set; } + + /// + /// 代码标识 + /// + public virtual string? IdName { get; set; } + + /// + /// 图片-预留 + /// + public virtual int ImageId { get; set; } + + /// + /// 图片-预留 + /// + public virtual int ImageId2 { get; set; } + + /// + /// 上线渠道,0不限制 + /// + public virtual string? OnlineBossId { get; set; } + + + + /// + /// 快速启动弹窗 + /// + public virtual bool IsQuickStartPopUp { get; set; } + + /// + /// 联机游戏快速启动弹窗 + /// + public virtual bool IsOnlineQuickStartPopUp { get; set; } + + /// + /// 审核模式下不显示 + /// + public virtual bool? IsNotCheckingShow { get; set; } + + /// + /// 非审核(正常)模式是否关闭 + /// + public virtual int IsStandardClose { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg_Export.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg_Export.cs new file mode 100644 index 0000000..623641e --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_CategoryCfg_Export.cs @@ -0,0 +1,80 @@ + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// Epg分组配置表 +/// +public partial class T_Epg_CategoryCfg_Export: MultiTenantEntity +{ + public T_Epg_CategoryCfg_Export() { } + + /// + /// epg分组Id + /// + public virtual int EpgCategory { get; set; } + + /// + /// epg父组Id, 0无 + /// + public virtual int EpgParentCategory { get; set; } + + /// + /// 分组名称 + /// + public virtual string? Name { get; set; } + + /// + /// 排序-正序 + /// + public virtual int OrderId { get; set; } + + /// + /// 是否启用 + /// + public virtual bool IsOnline { get; set; } + + /// + /// 扩展字段1 + /// + public virtual string? Extend1 { get; set; } + + /// + /// 扩展字段2 + /// + public virtual string? Extend2 { get; set; } + + /// + /// 扩展字段3 + /// + public virtual string? Extend3 { get; set; } + + /// + /// 上线平台 + /// + public virtual string? OnlinePlatform { get; set; } + + /// + /// 首页展示数量 + /// + public virtual int ShowNum_Index { get; set; } + + /// + /// 代码标识 + /// + public virtual string? IdName { get; set; } + + /// + /// 图片-预留 + /// + public virtual int ImageId { get; set; } + + /// + /// 图片-预留 + /// + public virtual int ImageId2 { get; set; } + + /// + /// 上线渠道,0不限制 + /// + public virtual string? OnlineBossId { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg.cs new file mode 100644 index 0000000..ec9d65d --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg.cs @@ -0,0 +1,159 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// Epg配置表 +/// +public partial class T_Epg_Cfg: MultiTenantEntity +{ + public T_Epg_Cfg() { } + + /// + /// 标识 + /// + public virtual int EpgId { get; set; } + + /// + /// epg分组 + /// + public virtual int EpgCategory { get; set; } + + /// + /// 资源Id + /// + public virtual string? ResId { get; set; } + + /// + /// 资源类型 + /// + public virtual int ResType { get; set; } + + /// + /// 资源参数 + /// + public virtual string? ResParams { get; set; } + + /// + /// 排序-正序 + /// + public virtual int OrderId { get; set; } + + /// + /// 标题 + /// + public virtual string? Title { get; set; } + + /// + /// 标题2 + /// + public virtual string? Title2 { get; set; } + + /// + /// 图片 + /// + public virtual int ImageId { get; set; } + + /// + /// 使用原始资源图样式n_n + /// + public virtual string? ImageResStyle { get; set; } + + /// + /// 视频地址 + /// + public virtual string? VideoUrl { get; set; } + + /// + /// 是否启用 + /// + public virtual bool IsOnline { get; set; } + + /// + /// 角标 + /// + public virtual int CornerIconId { get; set; } + + /// + /// 展示样式:more + /// + public virtual string? StyleType { get; set; } + + /// + /// 更新时间 + /// + public virtual DateTime UpdateTime { get; set; } + + /// + /// 扩展字段1 + /// + public virtual string? Extend1 { get; set; } + + /// + /// 扩展字段2 + /// + public virtual string? Extend2 { get; set; } + + /// + /// 扩展字段3 + /// + public virtual string? Extend3 { get; set; } + + public virtual string? OnlinePlatform { get; set; } + + public virtual int SpecialId { get; set; } + + public virtual string? IdName { get; set; } + + /// + /// 图片2-预留 + /// + public virtual int ImageId2 { get; set; } + + public virtual string? OnlineBossId { get; set; } + + /// + /// 视频标识 + /// + public virtual string? VideoIdentification { get; set; } + + /// + /// 联机快速启动 + /// + public virtual bool IsOnlineQuickStartPopUp { get; set; } + + /// + /// 启用时间 + /// + public virtual DateTime? StartEnableTime { get; set; } + + /// + /// 结束时间 + /// + public virtual DateTime? EndEnableTime { get; set; } + + /// + /// 图片3 + /// + public virtual int ImageId3 { get; set; } + + /// + /// 国家 + /// + public virtual string? CountryName { get; set; } + + /// + /// 州 + /// + public virtual string? Continent { get; set; } + + /// + /// 非审核(正常)模式是否关闭 + /// + public virtual int IsStandardClose { get; set; } + + /// + /// 审核模式是否关闭 + /// + public virtual int IsCheckingClose { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg_Export.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg_Export.cs new file mode 100644 index 0000000..53288d8 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Epg_Cfg_Export.cs @@ -0,0 +1,126 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// Epg配置表 +/// +public partial class T_Epg_Cfg_Export: MultiTenantEntity +{ + public T_Epg_Cfg_Export() { } + + /// + /// 标识 + /// + public virtual int EpgId { get; set; } + + /// + /// epg分组 + /// + public virtual int EpgCategory { get; set; } + + /// + /// 资源Id + /// + public virtual string? ResId { get; set; } + + /// + /// 资源类型 + /// + public virtual int ResType { get; set; } + + /// + /// 资源参数 + /// + public virtual string? ResParams { get; set; } + + /// + /// 排序-正序 + /// + public virtual int OrderId { get; set; } + + /// + /// 标题 + /// + public virtual string? Title { get; set; } + + /// + /// 标题2 + /// + public virtual string? Title2 { get; set; } + + /// + /// 图片 + /// + public virtual int ImageId { get; set; } + + /// + /// 使用原始资源图样式n_n + /// + public virtual string? ImageResStyle { get; set; } + + /// + /// 视频地址 + /// + public virtual string? VideoUrl { get; set; } + + /// + /// 是否启用 + /// + public virtual bool IsOnline { get; set; } + + /// + /// 角标 + /// + public virtual int CornerIconId { get; set; } + + /// + /// 展示样式:more + /// + public virtual string? StyleType { get; set; } + + /// + /// 更新时间 + /// + public virtual DateTime UpdateTime { get; set; } + + /// + /// 扩展字段1 + /// + public virtual string? Extend1 { get; set; } + + /// + /// 扩展字段2 + /// + public virtual string? Extend2 { get; set; } + + /// + /// 扩展字段3 + /// + public virtual string? Extend3 { get; set; } + + /// + /// 上线平台 + /// + public virtual string? OnlinePlatform { get; set; } + + /// + /// 特殊标志 + /// + public virtual int SpecialId { get; set; } + + /// + /// 代码标识 + /// + public virtual string? IdName { get; set; } + + /// + /// 图片2 + /// + public virtual int ImageId2 { get; set; } + + /// + /// 上线渠道,0不限 + /// + public virtual string? OnlineBossId { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_FloatBall_Cfg.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_FloatBall_Cfg.cs new file mode 100644 index 0000000..fefc071 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_FloatBall_Cfg.cs @@ -0,0 +1,69 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 悬浮球配置 +/// +public partial class T_FloatBall_Cfg: MultiTenantEntity +{ + public T_FloatBall_Cfg() { } + + public virtual int Id { get; set; } + + /// + /// 名称 + /// + public virtual string? Name { get; set; } + + /// + /// 资源Id + /// + public virtual string? ResId { get; set; } + + /// + /// 资源类型 + /// + public virtual int ResType { get; set; } + + /// + /// 坐标x + /// + public virtual double Pos1 { get; set; } + + /// + /// 坐标y + /// + public virtual double Pos2 { get; set; } + + /// + /// 是否点击后隐藏 + /// + public virtual bool HideAfterClick { get; set; } + + /// + /// 是否启用 + /// + public virtual bool IsOnline { get; set; } + + /// + /// 状态-显示 + /// + public virtual int ImageId1 { get; set; } + + /// + /// 状态-隐藏 + /// + public virtual int ImageId2 { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime UpdateTime { get; set; } + + + /// + /// 渠道号id + /// + public virtual string BossId { get; set; } = null!; +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameCBT.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameCBT.cs new file mode 100644 index 0000000..487765e --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameCBT.cs @@ -0,0 +1,169 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 游戏配置 +/// +public partial class T_GameCBT: MultiTenantEntity +{ + public T_GameCBT() { } + + public virtual int Id { get; set; } + + /// + /// 游戏Id + /// + public virtual string? GameId { get; set; } + + /// + /// 游戏详情也配置背景 + /// + public virtual int? GameBgImgId { get; set; } + + /// + /// 游戏Icon + /// + public virtual int? GameImageId { get; set; } + + /// + /// 是否启用 + /// + public virtual bool? IsOnline { get; set; } + + /// + /// 评分 + /// + public virtual string? Score { get; set; } + + /// + /// 排序 + /// + public virtual int? OrderId { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + /// + /// 备注 + /// + public virtual string? Desc { get; set; } + + /// + /// 游戏加载图 + /// + public virtual int? GameLoadBgImageId { get; set; } + + /// + /// 游戏icon + /// + public virtual int? ImageIconId { get; set; } + + /// + /// 是否测试游戏 + /// + public virtual bool? IsTest { get; set; } + + /// + /// VIP专属 + /// + public virtual bool IsLimitToVip { get; set; } + + /// + /// Loading时间 + /// + public virtual int GameLoadTime { get; set; } + + /// + /// 尊享推荐 + /// + public virtual int ImageId_ZXTJ { get; set; } + + /// + /// 精选推荐 + /// + public virtual int ImageId_JXTJ { get; set; } + + /// + /// 推荐大图 + /// + public virtual int ImageId_TJ { get; set; } + + public virtual string? Title2 { get; set; } + + /// + /// 游戏名称 + /// + public virtual string? GameName { get; set; } + + /// + /// 最近推出 + /// + public virtual int ImageId_ZJTC { get; set; } + + /// + /// 顶部图片 + /// + public virtual int ImageId_Banner { get; set; } + + /// + /// 视频地址 + /// + public virtual string? VideoUrl { get; set; } + + /// + /// 每小时钻石费用 + /// + public virtual int ConsumeDiamondNumHour { get; set; } + + /// + /// 每小时VIP钻石费用 + /// + public virtual int ConsumeDiamondNumHourVip { get; set; } + + /// + /// 游戏分组:0单机,1steam,2网游 + /// + public virtual int GameGroup { get; set; } + + /// + /// 会员等级限制 + /// + public virtual int VipTypeLimit { get; set; } + + /// + /// 仅会员可见 + /// + public virtual bool VipVisible { get; set; } + + /// + /// 是否参与优惠套餐活动(比如包夜卡,周中卡之类的) + /// + public virtual bool IsDiscount { get; set; } + + /// + /// 平台类型,为空全选 + /// + public virtual string OnlinePlatform { get; set; } = null!; + + /// + /// 视频标识 + /// + public virtual string? VideoIdentification { get; set; } + + /// + /// vip国家 + /// + public virtual string? VipCountryName { get; set; } + + /// + /// 洲 + /// + public virtual string? VipContinent { get; set; } + + /// + /// 启动提示 + /// + public virtual string? FriendlyTips { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameInputSetting.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameInputSetting.cs new file mode 100644 index 0000000..8e35b00 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameInputSetting.cs @@ -0,0 +1,34 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 游戏虚拟手柄,虚拟键盘设置 +/// +public partial class T_GameInputSetting: MultiTenantEntity +{ + public T_GameInputSetting() { } + + public virtual string GameId { get; set; } = null!; + + /// + /// 是否有手柄 + /// + public virtual bool IsGamePad { get; set; } + + /// + /// 是否有虚拟键盘 + /// + public virtual bool IsKeyboard { get; set; } + + public virtual DateTime UpdateTime { get; set; } + + public virtual DateTime CreateTime { get; set; } + + public virtual string? Remark { get; set; } + + /// + /// 是否显示切换键盘按钮 + /// + public virtual bool IsToggleKeyboard { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameKeyPlan_CBT.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameKeyPlan_CBT.cs new file mode 100644 index 0000000..67fb904 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameKeyPlan_CBT.cs @@ -0,0 +1,44 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 游戏按键方案配置表 +/// +public partial class T_GameKeyPlan_CBT: MultiTenantEntity +{ + public T_GameKeyPlan_CBT() { } + + public virtual int Id { get; set; } + + /// + /// 游戏id + /// + public virtual string GameId { get; set; } = null!; + + /// + /// 排序 + /// + public virtual int OrderId { get; set; } + + /// + /// 方案名称 + /// + public virtual string PlanName { get; set; } = null!; + + /// + /// 是否启用 + /// + public virtual bool IsOnline { get; set; } + + public virtual DateTime CreateTime { get; set; } + + public virtual DateTime UpdateTime { get; set; } + + public virtual string? Remark { get; set; } + + /// + /// 方案类型1键盘 2手柄 + /// + public virtual int PlanType { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKey.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKey.cs new file mode 100644 index 0000000..00e66d7 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKey.cs @@ -0,0 +1,96 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 按键表 +/// +public partial class T_GamePressKey: MultiTenantEntity +{ + public T_GamePressKey() { } + + /// + /// 主键 + /// + public virtual int Id { get; set; } + + /// + /// 按键名称 + /// + public virtual string? PressKeyName { get; set; } + + /// + /// 按键值 + /// + public virtual string? PressKey { get; set; } + + /// + /// 按键序号 + /// + public virtual int? PressKeyIndex { get; set; } + + /// + /// 按键类型,鼠标、键盘还是手柄的功能按键等 + /// + public virtual int? PressKeyType { get; set; } + + /// + /// 按键图片 + /// + public virtual int? PressKeyImageId { get; set; } + + /// + /// 选中图片 + /// + public virtual int? PressKeySelectImageId { get; set; } + + /// + /// 按键放大倍数 + /// + public virtual decimal? PressKeyMagnification { get; set; } + + /// + /// 按键X坐标 + /// + public virtual decimal? PositionX { get; set; } + + /// + /// 按键Y坐标 + /// + public virtual decimal? PositionY { get; set; } + + /// + /// 按键宽度 + /// + public virtual int? PressKeyWidth { get; set; } + + /// + /// 按键高度 + /// + public virtual int? PressKeyHeight { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime? CreateDateTime { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime? UpdateDateTime { get; set; } + + /// + /// 所属方案 + /// + public virtual int? GamePressKeyPlanId { get; set; } + + /// + /// 按键标识 + /// + public virtual string? PressKeyIdentification { get; set; } + + /// + /// 按键分组,手柄还是键盘 + /// + public virtual int? GamePressKeyGroupBy { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKeyPlan.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKeyPlan.cs new file mode 100644 index 0000000..cfc59c1 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GamePressKeyPlan.cs @@ -0,0 +1,61 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 游戏按键方案 +/// +public partial class T_GamePressKeyPlan: MultiTenantEntity +{ + public T_GamePressKeyPlan() { } + + /// + /// 主键 + /// + public virtual int Id { get; set; } + + /// + /// 按键方案名称 + /// + public virtual string? GamePressKeyPlanName { get; set; } + + /// + /// 方案分组,键盘还是手柄 + /// + public virtual int? GamePressKeyGroupBy { get; set; } + + /// + /// 方案备注 + /// + public virtual string? GamePressKeyRemark { get; set; } + + /// + /// 是否默认, + /// + public virtual bool? GamePressKeyDefault { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime? CreateDateTime { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime? UpdateDateTime { get; set; } + + /// + /// 标识 + /// + public virtual string? Identification { get; set; } + + /// + /// 所属游戏编号 + /// + public virtual string? GameId { get; set; } + + /// + /// 是否启用 + /// + public virtual bool? IsEnable { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameShow.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameShow.cs new file mode 100644 index 0000000..3ad191f --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_GameShow.cs @@ -0,0 +1,37 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 游戏展示 +/// +public partial class T_GameShow: MultiTenantEntity +{ + public T_GameShow() { } + + public virtual int Id { get; set; } + + public virtual string? Name { get; set; } + + /// + /// 1图片,2视频 展示类型 + /// + public virtual int? Type { get; set; } + + /// + /// 图片或者视频的Id + /// + public virtual int? DataId { get; set; } + + public virtual string? GameId { get; set; } + + public virtual int? OrderId { get; set; } + + public virtual bool? IsOnline { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Game_DiscountCfg.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Game_DiscountCfg.cs new file mode 100644 index 0000000..096d40d --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Game_DiscountCfg.cs @@ -0,0 +1,66 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 游戏减价配置表 +/// +public partial class T_Game_DiscountCfg: MultiTenantEntity +{ + public T_Game_DiscountCfg() { } + + /// + /// 游戏Id + /// + public virtual string GameId { get; set; } = null!; + + /// + /// 折扣钻石价格 + /// + public virtual int DiscountDiamondNum { get; set; } + + /// + /// 折扣蘑菇币价格 + /// + public virtual int DiscountMoguNum { get; set; } + + /// + /// 开始时间 + /// + public virtual DateTime StartTime { get; set; } + + /// + /// 结束时间 + /// + public virtual DateTime EndTime { get; set; } + + /// + /// 状态-1禁用 + /// + public virtual int Status { get; set; } + + /// + /// 折扣每小时钻石费用 + /// + public virtual int DiscountDiamondNumHour { get; set; } + + /// + /// 折扣每小时蘑菇币费用 + /// + public virtual int DiscountMoguNumHour { get; set; } + + /// + /// 折扣资费描述-自定义 + /// + public virtual string? ChargeDesc { get; set; } + + /// + /// 每小时折扣VIP钻石费用 + /// + public virtual int DiscountDiamondNumHourVip { get; set; } + + /// + /// 每小时折扣VIP蘑菇币费用 + /// + public virtual int DiscountMoguNumHourVip { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_KeyboardSetting.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_KeyboardSetting.cs new file mode 100644 index 0000000..ee4184d --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_KeyboardSetting.cs @@ -0,0 +1,64 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 虚拟键盘配置表 +/// +public partial class T_KeyboardSetting: MultiTenantEntity +{ + public T_KeyboardSetting() { } + + public virtual int Id { get; set; } + + /// + /// 游戏Id + /// + public virtual string GameId { get; set; } = null!; + + /// + /// 键的名字 + /// + public virtual string Name { get; set; } = null!; + + /// + /// 是否有这个键值 + /// 没有这个选项表示用基本的 + /// 如果有这个选项并且是ture 就用这个键值 + /// 如果有这个选项并且是false就表示没有这个键值 + /// + public virtual bool? IsOnline { get; set; } + + /// + /// 键值位置,大小 + /// + public virtual int UIId { get; set; } + + public virtual DateTime CreateTime { get; set; } + + public virtual DateTime UpdateTime { get; set; } + + public virtual string? Remark { get; set; } + + public virtual string? KeyIndex { get; set; } + + /// + /// 按键类型0键盘1手柄 + /// + public virtual int KeyType { get; set; } + + /// + /// 游戏按键标识 + /// + public virtual string? GameIdentification { get; set; } + + /// + /// 是否可以拖动 + /// + public virtual bool IsKeyDrag { get; set; } + + /// + /// 是否按下锁定 + /// + public virtual bool IsPressLock { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PlanKey_CBT.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PlanKey_CBT.cs new file mode 100644 index 0000000..94dbec6 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PlanKey_CBT.cs @@ -0,0 +1,61 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 方案按键配置表 +/// +public partial class T_PlanKey_CBT: MultiTenantEntity +{ + public T_PlanKey_CBT() { } + + public virtual int Id { get; set; } + + /// + /// 方案id + /// + public virtual int PlanId { get; set; } + + /// + /// 键盘对应的ascii码 + /// + public virtual string? KeyIndex { get; set; } + + public virtual string? KeyName { get; set; } + + /// + /// 默认图片id + /// + public virtual int ImageId { get; set; } + + /// + /// 选中图片id + /// + public virtual int SelectImageId { get; set; } + + /// + /// x坐标 + /// + public virtual int X { get; set; } + + /// + /// y坐标 + /// + public virtual int Y { get; set; } + + /// + /// w坐标或者宽度 + /// + public virtual int W { get; set; } + + /// + /// h坐标或者高度 + /// + public virtual int H { get; set; } + + public virtual DateTime CreateTime { get; set; } + + public virtual DateTime UpdateTime { get; set; } + + public virtual string? Remark { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Popup.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Popup.cs new file mode 100644 index 0000000..4413986 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Popup.cs @@ -0,0 +1,95 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 通用弹框配置 +/// +public partial class T_Popup: MultiTenantEntity +{ + public T_Popup() { } + + public virtual int Id { get; set; } + + /// + /// 弹框类型 + /// + public virtual int Type { get; set; } + + /// + /// 弹框名字 + /// + public virtual string? Name { get; set; } + + /// + /// 弹框背景图 + /// + public virtual int? Btn_Bg { get; set; } + + /// + /// 弹窗显示文字 + /// + public virtual string? Text { get; set; } + + /// + /// 是否启用 + /// + public virtual bool? IsOnline { get; set; } + + /// + /// 排序 + /// + public virtual int? OrderId { get; set; } + + /// + /// 创建时间 + /// + public virtual DateTime? CreateTime { get; set; } + + /// + /// 修改时间 + /// + public virtual DateTime? UpdateTime { get; set; } + + public virtual string? Desc { get; set; } + + /// + /// 开始时间 + /// + public virtual DateTime? StartTime { get; set; } + + /// + /// 结束时间 + /// + public virtual DateTime? EndTime { get; set; } + + /// + /// 上线渠道号 + /// + public virtual string? BossId { get; set; } + + /// + /// 上线平台 + /// + public virtual string? PlatformId { get; set; } + + /// + /// 确认按钮图片 + /// + public virtual int? Btn_OK { get; set; } + + /// + /// 关闭按钮图片 + /// + public virtual int? Btn_Close { get; set; } + + /// + /// 内容图片Id + /// + public virtual int? ImageId_Text { get; set; } + + /// + /// 扩展参数1 + /// + public virtual string? Extend1 { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PopupBtn.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PopupBtn.cs new file mode 100644 index 0000000..c6833c4 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_PopupBtn.cs @@ -0,0 +1,58 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 弹窗按钮 +/// +public partial class T_PopupBtn: MultiTenantEntity +{ + public T_PopupBtn() { } + + public virtual int Id { get; set; } + + /// + /// 动作 + /// + public virtual string Action { get; set; } = null!; + + /// + /// 背景图片 + /// + public virtual int? Image { get; set; } + + /// + /// X坐标 + /// + public virtual int? X { get; set; } + + /// + /// Y坐标 + /// + public virtual int? Y { get; set; } + + /// + /// 宽度 + /// + public virtual int? Widht { get; set; } + + /// + /// 高度 + /// + public virtual int? Height { get; set; } + + /// + /// 文本 + /// + public virtual string? Text { get; set; } + + /// + /// 按钮名称 + /// + public virtual string? Name { get; set; } + + /// + /// 延迟几秒显示按钮 + /// + public virtual int? DelaySecond { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SevenDaySignIn_AwardCBT.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SevenDaySignIn_AwardCBT.cs new file mode 100644 index 0000000..b06f17c --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SevenDaySignIn_AwardCBT.cs @@ -0,0 +1,28 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 七日签到奖励配置表 +/// +public partial class T_SevenDaySignIn_AwardCBT: MultiTenantEntity +{ + public T_SevenDaySignIn_AwardCBT() { } + + public virtual int Id { get; set; } + + public virtual int SignInId { get; set; } + + /// + /// 1钻石 2蘑菇币 3贡献值 4一日会员 + /// + public virtual int AwardType { get; set; } + + public virtual int AwardNum { get; set; } + + public virtual DateTime CreateTime { get; set; } + + public virtual DateTime UpdateTime { get; set; } + + public virtual string? Remark { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SignTypes.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SignTypes.cs new file mode 100644 index 0000000..0398c5a --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SignTypes.cs @@ -0,0 +1,30 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 签到类型 +/// +public partial class T_SignTypes: MultiTenantEntity +{ + public T_SignTypes() { } + + public virtual int Id { get; set; } + + public virtual string? Name { get; set; } + + /// + /// 签到类型 + /// + public virtual int? Type { get; set; } + + public virtual int? OrderId { get; set; } + + public virtual bool? IsOnline { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SysMessage.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SysMessage.cs new file mode 100644 index 0000000..92e41b0 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_SysMessage.cs @@ -0,0 +1,50 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 系统公告 +/// +public partial class T_SysMessage: MultiTenantEntity +{ + public T_SysMessage() { } + + public virtual int Id { get; set; } + + /// + /// 消息Id + /// + public virtual int MessageId { get; set; } + + /// + /// 名称 + /// + public virtual string? Name { get; set; } + + public virtual int? Type { get; set; } + + /// + /// 内容 + /// + public virtual string? Text { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } + + public virtual int LvExp { get; set; } + + public virtual int MushroomCoin { get; set; } + + public virtual int DiamondNum { get; set; } + + public virtual int TemporaryMemberDay { get; set; } + + public virtual DateTime StartTime { get; set; } + + public virtual DateTime EndTime { get; set; } + + public virtual int ReceiveType { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UITypes.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UITypes.cs new file mode 100644 index 0000000..7017f20 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UITypes.cs @@ -0,0 +1,27 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 位置大小类型列表 +/// +public partial class T_UITypes: MultiTenantEntity +{ + public T_UITypes() { } + + public virtual int Id { get; set; } + + public virtual int? Type { get; set; } + + public virtual string? Name { get; set; } + + public virtual bool? IsOnline { get; set; } + + public virtual int? OrderId { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UIs.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UIs.cs new file mode 100644 index 0000000..1a33660 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_UIs.cs @@ -0,0 +1,48 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// UI集合 +/// +public partial class T_UIs: MultiTenantEntity +{ + public T_UIs() { } + + public virtual int Id { get; set; } + + public virtual int UIId { get; set; } + + public virtual string? Name { get; set; } + + public virtual int? Type { get; set; } + + public virtual int? x { get; set; } + + public virtual int? y { get; set; } + + public virtual int? w { get; set; } + + public virtual int? h { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } + + /// + /// 未选中图片id + /// + public virtual int ImageId { get; set; } + + /// + /// 选中图片id + /// + public virtual int SelectedImage { get; set; } + + /// + /// 放大倍数 + /// + public virtual double Scale { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Videos.cs b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Videos.cs new file mode 100644 index 0000000..d529513 --- /dev/null +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/Db_Phone/T_Videos.cs @@ -0,0 +1,33 @@ +using System; + +namespace CloudGaming.Model.DbSqlServer.Db_Phone; + +/// +/// 视频列表 +/// +public partial class T_Videos: MultiTenantEntity +{ + public T_Videos() { } + + public virtual int Id { get; set; } + + public virtual int VideoId { get; set; } + + public virtual string? Name { get; set; } + + public virtual int? Type { get; set; } + + public virtual string? Url { get; set; } + + public virtual int? ImageId { get; set; } + + public virtual int? W { get; set; } + + public virtual int? H { get; set; } + + public virtual DateTime? UpdateTime { get; set; } + + public virtual DateTime? CreateTime { get; set; } + + public virtual string? Desc { get; set; } +} diff --git a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/efcore-gen.md b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/efcore-gen.md index 1e97ef0..32a41c9 100644 --- a/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/efcore-gen.md +++ b/src/CloudGaming/Model/CloudGaming.Model/DbSqlServer/efcore-gen.md @@ -3,4 +3,8 @@ ```sh --user dotnet ef dbcontext scaffold "Server=192.168.1.17;Database=CloudGamingUser;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer -o DbSqlServer/Db_User/ --use-database-names --no-pluralize --force + +--CloudGamingPhone +dotnet ef dbcontext scaffold "Server=192.168.1.17;Database=CloudGamingPhone;User Id=sa;Password=Dbt@com@123;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer -o DbSqlServer/Db_Phone/ --use-database-names --no-pluralize --force + ``` \ No newline at end of file