private static void ExportInner(Assembly assembly, string defaultSchema, string defaultIdentityColumn) { string buildOutputFile(string suffix) { return(Path.Combine(Path.GetDirectoryName(assembly.Location), Path.GetFileNameWithoutExtension(assembly.Location) + suffix)); } try { var dataModel = new AssemblyModelBuilder().GetDataModel(assembly, defaultSchema, defaultIdentityColumn); dataModel.SaveJson(buildOutputFile(DataModelFileSuffix)); } catch (Exception exc) { try { string errorJson = JsonConvert.SerializeObject(new { message = exc.Message }); File.WriteAllText(buildOutputFile(DataModelErrorFileSuffix), errorJson); } catch (Exception excInner) { Debug.Print($"Export data model exception: {exc.Message}"); Debug.Print($"Couldn't write error log: {excInner.Message}"); } } }
public static void Execute(string[] args) { try { var options = new ExportModelArgs(args); var assembly = Assembly.LoadFrom(options.Assembly); var dataModel = new AssemblyModelBuilder().GetDataModel(assembly, options.DefaultSchema, options.DefaultIdentityColumn); dataModel.SaveJson(options.OutputFile); } catch (Exception exc) { Console.WriteLine($"ModelExporter error: {exc.Message}"); } }