コード例 #1
0
        internal static void ScaffoldDataRepositories(EntityFrameworkCoreProject project)
        {
            var projectSelection = project.GlobalSelection();

            if (!string.IsNullOrEmpty(projectSelection.Settings.ConcurrencyToken))
            {
                projectSelection.Settings.InsertExclusions.Add(projectSelection.Settings.ConcurrencyToken);
                projectSelection.Settings.UpdateExclusions.Add(projectSelection.Settings.ConcurrencyToken);
            }

            ScaffoldRepositoryInterface(project);
            ScaffoldBaseRepositoryClassDefinition(project);
            ScaffoldRepositoryExtensionsClassDefinition(project);

            foreach (var projectFeature in project.Features)
            {
                var repositoryClassDefinition = projectFeature.GetRepositoryClassDefinition();

                project.Scaffold(repositoryClassDefinition, project.GetDataLayerRepositoriesDirectory());

                var repositoryInterfaceDefinition = repositoryClassDefinition.RefactInterface();

                repositoryInterfaceDefinition.Namespace = project.GetDataLayerContractsNamespace();
                repositoryInterfaceDefinition.Implements.Add("IRepository");

                project.Scaffold(repositoryInterfaceDefinition, project.GetDataLayerContractsDirectory());
            }
        }
コード例 #2
0
 private static void ScaffoldRepositoryExtensionsClassDefinition(EntityFrameworkCoreProject project)
 => CSharpCodeBuilder.CreateFiles(project.OutputDirectory, project.GetDataLayerRepositoriesDirectory(), project.GlobalSelection().Settings.ForceOverwrite, project.GetRepositoryExtensionsClassDefinition());
コード例 #3
0
 internal static void ScaffoldRepositoryExtensionsClassDefinition(EntityFrameworkCoreProject project)
 {
     project.Scaffold(project.GetRepositoryExtensionsClassDefinition(), project.GetDataLayerRepositoriesDirectory());
 }
 private static void ScaffoldBaseRepositoryClassDefinition(EntityFrameworkCoreProject project)
 {
     project.Scaffold(project.GetRepositoryBaseClassDefinition(), project.GetDataLayerRepositoriesDirectory());
 }