Example #1
0
        internal static EntityFrameworkCoreProject ScaffoldModels(this EntityFrameworkCoreProject project)
        {
            foreach (var table in project.Database.Tables)
            {
                var selection = project.GetSelection(table);

                var definition = project.GetEntityClassDefinition(table, true);

                if (selection.Settings.UseDataAnnotations)
                {
                    definition.AddDataAnnotations(table, project);
                }

                project.Scaffold(definition, project.GetDomainModelsDirectory(), project.Database.HasDefaultSchema(table) ? "" : table.Schema);
            }

            foreach (var view in project.Database.Views)
            {
                var selection = project.GetSelection(view);

                var definition = project.GetEntityClassDefinition(view, project.Database.HasDefaultSchema(view) ? project.GetDomainModelsNamespace() : project.GetDomainModelsNamespace(view.Schema));

                if (selection.Settings.UseDataAnnotations)
                {
                    definition.AddDataAnnotations(view, project);
                }

                project.Scaffold(definition, project.GetDomainModelsDirectory(), project.Database.HasDefaultSchema(view) ? "" : view.Schema);
            }

            return(project);
        }