/// <summary>Create a table that matches the specified table.</summary> /// <param name="table">The table definition to write to the database.</param> private void CreateTable(DataTable table) { List <string> colTypes = new List <string>(); foreach (DataColumn column in table.Columns) { columnNamesInDb.Add(column.ColumnName); bool allowLongStrings = table.TableName.StartsWith("_"); colTypes.Add(connection.GetDBDataTypeName(column.DataType, allowLongStrings)); } connection.CreateTable(Name, columnNamesInDb.ToList(), colTypes); if (table.Columns.Contains("ID") && table.TableName.StartsWith("_")) { connection.CreateIndex(table.TableName, new List <string>() { "ID" }, true); } else if (table.Columns.Contains("CheckpointID") && table.Columns.Contains("SimulationID")) { connection.CreateIndex(table.TableName, new List <string>() { "CheckpointID", "SimulationID" }, false); } TableExistsInDb = true; }