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; } }
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); }
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; }
public EdmxGenerator(EdmxOptions options) { this.options = options; }
public OutputFilesManager(EdmxOptions options) { this.options = options; }
public CodeFilesGenerator(EdmxOptions options) { this.options = options; }
public DiagramManager(EdmxOptions options) { this.options = options; }
public EdmxManager(EdmxOptions options) { this.options = options; }
public CsprojManager(EdmxOptions options) { this.options = options; }
public EdmxUpdateEngine(EdmxOptions options = null) { this.options = options ?? EdmxOptions.Default; }