private static EntityFrameworkCoreProject ScaffoldEntities(this EntityFrameworkCoreProject project) { foreach (var table in project.Database.Tables) { var selection = project.GetSelection(table); var definition = project.GetEntityClassDefinition(table, false); if (selection.Settings.UseDataAnnotations) { definition.AddDataAnnotations(table, project); } project.Scaffold(definition, project.GetEntityLayerDirectory(), 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.GetEntityLayerNamespace() : project.GetEntityLayerNamespace(view.Schema)); if (selection.Settings.UseDataAnnotations) { definition.AddDataAnnotations(view, project); } project.Scaffold(definition, project.GetEntityLayerDirectory(), project.Database.HasDefaultSchema(view) ? "" : view.Schema); } // todo: Review this scaffolding //foreach (var tableFunction in project.Database.TableFunctions) //{ // var selection = project.GetSelection(tableFunction); // var definition = project.GetEntityClassDefinition(tableFunction); // project.Scaffold(definition, project.GetEntityLayerDirectory(), project.Database.HasDefaultSchema(tableFunction) ? "" : tableFunction.Schema); //} // todo: Review this scaffolding //foreach (var storedProcedure in project.Database.StoredProcedures) //{ // var selection = project.GetSelection(storedProcedure); // var definition = project.GetEntityClassDefinition(storedProcedure); // project.Scaffold(definition, project.GetEntityLayerDirectory(), project.Database.HasDefaultSchema(storedProcedure) ? "" : storedProcedure.Schema); //} return(project); }