Example #1
0
        private static void InitializeFolders(string projectPath, string edmxPath, EdmxOptions options)
        {
            Configurator.ProjectPath = projectPath;
            if (!Path.IsPathRooted(Configurator.ProjectPath))
            {
                Configurator.ProjectPath = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), Configurator.ProjectPath));
            }

            var edmxDirectoryPath = new FileInfo(Configurator.ProjectPath).Directory.FullName;
            var edmxRelativePath  = edmxPath;

            if (!string.IsNullOrEmpty(edmxRelativePath))
            {
                edmxDirectoryPath = Path.Combine(edmxDirectoryPath, edmxRelativePath);
            }

            var directory = new DirectoryInfo(edmxDirectoryPath);
            var edmxFile  = directory.GetFiles("*" + Constants.FilesExtensions.EDMX);

            if (edmxFile.Length > 0)
            {
                Configurator.EdmxFilePath = edmxFile[0].FullName;
            }

            var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            Configurator.OutputFolderName = options.OutputFolderName;
            Configurator.OutputPath       = Path.Combine(basePath, Configurator.OutputFolderName);
            if (Directory.Exists(Configurator.OutputPath))
            {
                Directory.Delete(Configurator.OutputPath, true);
            }

            if (!Directory.Exists(Configurator.OutputPath))
            {
                Directory.CreateDirectory(Configurator.OutputPath);
            }

            var templatesDirectory = new DirectoryInfo(options.EFTemplatesPath);
            var destDirectoryPath  = Path.Combine(Configurator.OutputPath, templatesDirectory.Name);

            if (Directory.Exists(destDirectoryPath))
            {
                Directory.Delete(destDirectoryPath, true);
            }

            if (Directory.Exists(destDirectoryPath))
            {
                Configurator.EFTemplatesPath = new DirectoryInfo(destDirectoryPath).FullName;
            }
            else
            {
                Configurator.EFTemplatesPath = Directory.CreateDirectory(destDirectoryPath).FullName;
            }
        }
Example #2
0
        private static EdmxOptions GetDefaultOptions()
        {
            string assemblyName = AssemblyHelper.GetCurrentAssemblyName();
            var    options      = new EdmxOptions();

            options.TextTransformFilePath = GetFilePathVersion(@"C:\Program Files (x86)\Common Files\Microsoft Shared\TextTemplating\{0}\TextTransform.exe");

            options.OutputFolderName = "EdmGeneratorOutput";
            options.EFTemplatesPath  = GetFilePathVersion(@"C:\Program Files (x86)\Microsoft Visual Studio {0}\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes", true);

            options.CsprojNamespace = "http://schemas.microsoft.com/developer/msbuild/2003";
            options.CsdlNamespace   = "http://schemas.microsoft.com/ado/2009/11/edm";
            options.EdmxNamespace   = "http://schemas.microsoft.com/ado/2009/11/edmx";
            options.EdmGenFilePath  = Path.Combine(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory(), "edmgen.exe");
            options.SsdlNamespace   = "http://schemas.microsoft.com/ado/2009/11/edm/ssdl";
            options.MslNamespace    = "http://schemas.microsoft.com/ado/2009/11/mapping/cs";

            return(options);
        }
Example #3
0
        public static void Initialize(string projectPath, string entitiesNamespace, string connectionString, EdmxOptions options, string edmxRelativePath = null)
        {
            InitializeFolders(projectPath, edmxRelativePath, options);

            Configurator.EdmxName          = Path.GetFileNameWithoutExtension(Configurator.EdmxFilePath);
            Configurator.EntitiesNamespace = entitiesNamespace;
            Configurator.ConnectionString  = connectionString;
            Configurator.EdmxRelativePath  = edmxRelativePath;
        }
Example #4
0
 public EdmxGenerator(EdmxOptions options)
 {
     this.options = options;
 }
Example #5
0
 public OutputFilesManager(EdmxOptions options)
 {
     this.options = options;
 }
Example #6
0
 public CodeFilesGenerator(EdmxOptions options)
 {
     this.options = options;
 }
Example #7
0
 public DiagramManager(EdmxOptions options)
 {
     this.options = options;
 }
Example #8
0
 public EdmxManager(EdmxOptions options)
 {
     this.options = options;
 }
Example #9
0
 public CsprojManager(EdmxOptions options)
 {
     this.options = options;
 }
Example #10
0
 public EdmxUpdateEngine(EdmxOptions options = null)
 {
     this.options = options ?? EdmxOptions.Default;
 }