diff --git a/src/Core/RevEng.Core.60/ReverseEngineerRunner.cs b/src/Core/RevEng.Core.60/ReverseEngineerRunner.cs index b20f06844..f77cc0278 100644 --- a/src/Core/RevEng.Core.60/ReverseEngineerRunner.cs +++ b/src/Core/RevEng.Core.60/ReverseEngineerRunner.cs @@ -75,6 +75,8 @@ public static ReverseEngineerResult GenerateFiles(ReverseEngineerCommandOptions : PathHelper.GetNamespaceFromOutputPath(outputContextDir, options.ProjectPath, options.ProjectRootNamespace); } + ValidateOptions(options, warnings); + var entityTypeConfigurationPaths = new List(); SavedModelFiles procedurePaths = null; SavedModelFiles functionPaths = null; @@ -193,23 +195,6 @@ public static ReverseEngineerResult GenerateFiles(ReverseEngineerCommandOptions warnings.Add($"Your database compatibility level is only '{sku.Level}', consider updating to 130 or higher to take full advantage of new database engine features."); } - if (options.UseDatabaseNames && options.CustomReplacers?.Count > 0) - { - warnings.Add($"'use-database-names' / 'UseDatabaseNames' has been set to true, but a '{Constants.RenamingFileName}' file was also found. This prevents '{Constants.RenamingFileName}' from functioning."); - } - - if (options.UseT4 && options.UseT4Split) - { - warnings.Add("Both UseT4 and UseT4Split are set to true. Only one of thse should be used, UseT4Split will be ignored."); - options.UseT4Split = false; - } - - if (options.UseT4Split && options.UseDbContextSplitting) - { - warnings.Add("Both UseDbContextSplitting and UseT4Split are set to true. Only one of thse should be used, UseT4Split will be ignored."); - options.UseT4Split = false; - } - var result = new ReverseEngineerResult { EntityErrors = errors, @@ -305,6 +290,32 @@ public static void RetryFileWrite(string path, string finalText) } #endif + private static void ValidateOptions(ReverseEngineerCommandOptions options, List warnings) + { + if (options.UseDatabaseNames && options.CustomReplacers?.Count > 0) + { + warnings.Add($"'use-database-names' / 'UseDatabaseNames' has been set to true, but a '{Constants.RenamingFileName}' file was also found. This prevents '{Constants.RenamingFileName}' from functioning."); + } + + if (options.UseT4 && options.UseT4Split) + { + warnings.Add("Both UseT4 and UseT4Split are set to true. Only one of these should be used, UseT4Split will be used."); + options.UseT4 = false; + } + + if (options.UseDbContextSplitting) + { + warnings.Add("UseDbContextSplitting (preview) is obsolete, please switch to the T4 split DbContext template."); + options.UseDbContextSplitting = false; + } + + if (options.UseT4Split && options.UseDbContextSplitting) + { + warnings.Add("Both UseDbContextSplitting (preview) and UseT4Split are set to true. Only one of these should be used, UseT4Split will be used."); + options.UseDbContextSplitting = false; + } + } + private static SavedModelFiles CreateCleanupPaths(SavedModelFiles procedurePaths, SavedModelFiles functionPaths, SavedModelFiles filePaths) { var cleanUpPaths = new SavedModelFiles(filePaths.ContextFile, filePaths.AdditionalFiles); diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.cs.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.cs.resx index 370e01649..2bab800ef 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.cs.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.cs.resx @@ -340,7 +340,7 @@ Vyhledávání objektů - Rozdělit DbContext do konfiguračních tříd (preview) + Rozdělit DbContext do konfiguračních tříd (obsolete) Improve your SQLite experience diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.de.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.de.resx index 475a9d3f8..ed14f2f80 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.de.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.de.resx @@ -340,7 +340,7 @@ Objekte suchen - DbContext in Konfigurationsklassen aufteilen (Vorschau) + DbContext in Konfigurationsklassen aufteilen (Obsolete) SQLite Experience verbessern diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.en.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.en.resx index 13f233bc7..8cc39e869 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.en.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.en.resx @@ -340,7 +340,7 @@ Search for objects - Split DbContext into Configuration classes (preview) + Split DbContext into Configuration classes (Obsolete) Improve your SQLite experience diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.es.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.es.resx index b9e7d0ed6..dfe7eceee 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.es.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.es.resx @@ -340,7 +340,7 @@ Buscar objetos - Dividir DbContext en clases de configuración (vista previa) + Dividir DbContext en clases de configuración (obsolete) Mejore su experiencia SQLite diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.fr.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.fr.resx index 51b860608..b70c672d8 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.fr.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.fr.resx @@ -126,9 +126,15 @@ Ajouter une connexion personnalisée + + Ajouter une connexion définie manuellement + Ajouter une connexion de base de données + + Ajouter une connexion Explorateur de serveur (DDEX) + Ajouter un fichier .dacpac @@ -168,6 +174,9 @@ Choisissez votre projet de base de données SQL Server + + Génération de code + Nom @@ -198,6 +207,12 @@ Sous espace de noms du DbContext (remplace le chemin) - facultatif + + Installer le fournisseur DDEX pour un meilleure expérience + + + Choisissez votre version d'EF Core + EntityTypes et DbContext @@ -210,6 +225,9 @@ Sous espace de noms pour les EntityTypes (remplace le chemin) - facultatif + + Layout du fichier + Filtrer les schemas @@ -225,6 +243,9 @@ Préparation à la connexion... + + Aide + Inclure la chaîne de connexion dans le code généré @@ -240,9 +261,15 @@ Chargement des options... + + Mapper les types hierarchyid + Mettre en correspondance les types de Noda Time + + Mapping + Mettre en correspondance les types spatiales @@ -270,12 +297,24 @@ Pluraliser ou singulariser les noms d'objets générés (anglais) + + Entités POCO + + + * Noter + + + Dites-moi si vous aimez cet outil gratuit + Notes de version Supprimer le constructeur des classes d'entités (expérimental) + + Supprimer le constructeur par défaut du DbContext + Supprimer les propriétés de navigation des classes d'entités (expérimental) @@ -285,6 +324,9 @@ Supprimer la valeur SQL par défaut des colonnes booléennes + + Renommage des propriétés de navigation + Communication des résultats... @@ -298,7 +340,10 @@ Rechercher des objets - Séparer le DbContext en classes de configuration (préliminaire) + Séparer le DbContext en classes de configuration (obsolete) + + + Améliorer l'expérience SQLite Les informations d'identification utilisées n'ont pas reçu les droits « VIEW DEFINITION », la fonctionnalité peut donc être dégradée ou défectueuse. @@ -312,6 +357,9 @@ Procédures stockées retourne List (tableau par défaut) + + Chemin du template T4 - optionnel + Tables @@ -342,6 +390,9 @@ Utiliser le pluraliseur EF6 classique + + Utiliser les entités many to many + Utilisez les noms de table et de colonne directement à partir de la base de données @@ -351,9 +402,15 @@ Utiliser une expression régulière + + Guide utilisateur + Utiliser la séparation des dossiers par schéma (expérimental) + + Utiliser la séparation des espaces de noms de schéma (expérimental) + Utiliser la recherche textuelle @@ -363,118 +420,4 @@ Quoi générer - - Ajouter une connexion définie manuellement - - - Ajouter une connexion à l'explorateur de serveur (DDEX) - - - Génération de code - - - Installez le fournisseur DDEX pour une meilleure expérience - - - Choisissez votre version de EF Core - - - Disposition du fichier - - - Aide - - - Mettre en correspondance le HierarchyId - - - Correspondance - - - Entités POCO - - - ⭐ Évaluez - - - Faites-moi savoir si vous aimez cet outil gratuit - - - Supprimer le constructeur par défaut du DbContext - - - Renommage des navigations - - - Améliorez votre expérience de SQLite - - - Chemin du modèle T4 - facultatif - - - Utiliser les entités plusieurs à plusieurs - - - Guide de l'utilisateur - - - Utiliser la séparation des dossiers par l'espace de nom des schémas (expérimental) - - - Ajouter une connexion définie manuellement - - - Ajouter une connexion Explorateur de serveur (DDEX) - - - Génération de code - - - Installer le fournisseur DDEX pour un meilleure expérience - - - Choisissez votre version d'EF Core - - - Layout du fichier - - - Aide - - - Mapper les types hierarchyid - - - Mapping - - - Entités POCO - - - * Noter - - - Dites-moi si vous aimez cet outil gratuit - - - Supprimer le constructeur par défaut du DbContext - - - Renommage des propriétés de navigation - - - Améliorer l'expérience SQLite - - - Chemin du template T4 - optionnel - - - Utiliser les entités many to many - - - Guide utilisateur - - - Utiliser la séparation des espaces de noms de schéma (expérimental) - \ No newline at end of file diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pl.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pl.resx index 58781102b..2719e7173 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pl.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pl.resx @@ -340,7 +340,7 @@ Szukaj obiektów - Podziel DbContext na klasy konfiguracji (wersja zapoznawcza) + Podziel DbContext na klasy konfiguracji (obsolete) Popraw swoje doświadczenie z SQLite diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pt-br.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pt-br.resx index 32678e987..708170af4 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pt-br.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.pt-br.resx @@ -340,7 +340,7 @@ Procurar objetos - Dividir DbContext em classes de configuração (visualização) + Dividir DbContext em classes de configuração (obsolete) Melhore sua experiência SQLite diff --git a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.tr.resx b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.tr.resx index f0535b9a8..f7a965f41 100644 --- a/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.tr.resx +++ b/src/GUI/EFCorePowerTools/Locales/ReverseEngineerLocale.tr.resx @@ -328,7 +328,7 @@ Nesneleri ara - DbContext'i yapılandırma sınıflarına böl (önizleme) + DbContext'i yapılandırma sınıflarına böl (obsolete) SQL Server kullanıcısının 'VIEW DEFINITION' hakkı yok. Varsayılan kısıtlamalar kullanılamayabilir. diff --git a/src/Nupkg/ErikEJ.EntityFrameworkCore.SqlServer.Dacpac/Scaffolding/SqlServerDacpacDatabaseModelFactory.cs b/src/Nupkg/ErikEJ.EntityFrameworkCore.SqlServer.Dacpac/Scaffolding/SqlServerDacpacDatabaseModelFactory.cs index 9ba527dcf..4ab71897f 100644 --- a/src/Nupkg/ErikEJ.EntityFrameworkCore.SqlServer.Dacpac/Scaffolding/SqlServerDacpacDatabaseModelFactory.cs +++ b/src/Nupkg/ErikEJ.EntityFrameworkCore.SqlServer.Dacpac/Scaffolding/SqlServerDacpacDatabaseModelFactory.cs @@ -185,9 +185,6 @@ public DatabaseModel Create(string connectionString, DatabaseModelFactoryOptions return dbModel; } - public DatabaseModel Create(DbConnection connection, IEnumerable tables, IEnumerable schemas) - => throw new NotImplementedException(); - private static Dictionary GetTypeAliases(TSqlTypedModel model) { var items = model.GetObjects(DacQueryScopes.UserDefined)