Exemplo n.º 1
0
        public static GenerateDatabaseCodeLauncher Create(ProjectItem projectItem)
        {
            DatabaseConfig config   = new DatabaseConfig();
            XDocument      document = XDocument.Parse(File.ReadAllText(projectItem.GetFullPath()));

            config.Load(document);

            GenerateDatabaseCodeLauncher launcher = null;

            switch (config.Generation.Mode)
            {
            case DatabaseConfig.GenerateMode.EF6:
                launcher = new EF6GenerateDatabaseCodeLauncher(projectItem);
                break;

            case DatabaseConfig.GenerateMode.EFCore:
                launcher = new EFCoreGenerateDatabaseCodeLauncher(projectItem);
                break;

            default:
                return(null);
            }

            launcher.Config            = config;
            launcher.WorkingDictionary = Path.GetDirectoryName(launcher.InputFilePath);
            launcher.Initialize();
            return(launcher);
        }
Exemplo n.º 2
0
        protected override void PerformMenuItemInvoke(OleMenuCommand menuItem)
        {
            ProjectItem projectItem = this.DTE.SelectedItems.Item(1).ProjectItem;

            this.EnsureNotDirty(projectItem.ContainingProject);
            GenerateDatabaseCodeLauncher launcher = GenerateDatabaseCodeLauncher.Create(projectItem);

            if (launcher == null)
            {
                return;
            }
            launcher.Launch();
            projectItem.ContainingProject.Save();
        }