public void BenchmarkLoad() { var tbl = new List <MetadataSchemaTable>(); var t = new MetadataSchemaTable(); t.TableName = "Measurement"; t.LastModifiedVersionNumber = 382; t.Columns.Add(new MetadataColumn("ID", CtpTypeCode.Integer)); t.Columns.Add(new MetadataColumn("Name", CtpTypeCode.String)); t.Columns.Add(new MetadataColumn("DeviceID", CtpTypeCode.Integer)); tbl.Add(t); t = new MetadataSchemaTable(); t.TableName = "Device"; t.LastModifiedVersionNumber = 382; t.Columns.Add(new MetadataColumn("ID", CtpTypeCode.Integer)); t.Columns.Add(new MetadataColumn("Name", CtpTypeCode.String)); tbl.Add(t); var cmd = new CommandMetadataSchema(Guid.NewGuid(), 382, tbl); var doc = cmd.ToCommand(); var obj = (CommandMetadataSchema)doc; const int Count = 100_000; Stopwatch sw = Stopwatch.StartNew(); for (int x = 0; x < Count; x++) { obj = (CommandMetadataSchema)doc; } Console.WriteLine(Count / sw.Elapsed.TotalSeconds / 1_000_000); }
public MetadataRepository(DataSet schema) { RuntimeID = Guid.NewGuid(); VersionNumber = 0; m_tablesLookup = new Dictionary <string, int>(); m_tables = new List <MetadataTable>(); m_isReadOnly = false; //-- Fill the schema //------------------------------------- foreach (DataTable table in schema.Tables) { var columns = new List <MetadataColumn>(); foreach (DataColumn c in table.Columns) { columns.Add(new MetadataColumn(c.ColumnName, SttpValueTypeCodec.FromType(c.DataType))); } m_tables.Add(new MetadataTable(table.TableName, columns)); m_tablesLookup[table.TableName] = m_tables.Count - 1; } MetadataSchema = new List <MetadataSchemaTable>(); foreach (var table in m_tables) { var t = new MetadataSchemaTable(); t.TableName = table.TableName; t.LastModifiedVersionNumber = table.LastModifiedVersionNumber; foreach (var col in table.Columns) { t.Columns.Add(col); } MetadataSchema.Add(t); } }
public void MetadataSchema() { var tbls = new List <MetadataSchemaTable>(); var tbl = new MetadataSchemaTable(); tbl.Columns.Add(new MetadataColumn("ID", CtpTypeCode.Integer)); tbl.Columns.Add(new MetadataColumn("SignalID", CtpTypeCode.Guid)); tbl.Columns.Add(new MetadataColumn("TagName", CtpTypeCode.String)); tbl.Columns.Add(new MetadataColumn("Enabled", CtpTypeCode.Boolean)); tbl.TableName = "Measurements"; tbl.LastModifiedVersionNumber = 1; tbls.Add(tbl); tbls.Add(tbl); var cmd = new CommandMetadataSchema(Guid.NewGuid(), 1, tbls); cmd.DebugToConsole(); cmd = (CommandMetadataSchema)(CtpCommand)cmd; }
public void CommandMetadataSchema() { var tbl = new List <MetadataSchemaTable>(); var t = new MetadataSchemaTable(); t.TableName = "Measurement"; t.LastModifiedVersionNumber = 382; t.Columns.Add(new MetadataColumn("ID", CtpTypeCode.Integer)); t.Columns.Add(new MetadataColumn("Name", CtpTypeCode.String)); t.Columns.Add(new MetadataColumn("DeviceID", CtpTypeCode.Integer)); tbl.Add(t); t = new MetadataSchemaTable(); t.TableName = "Device"; t.LastModifiedVersionNumber = 382; t.Columns.Add(new MetadataColumn("ID", CtpTypeCode.Integer)); t.Columns.Add(new MetadataColumn("Name", CtpTypeCode.String)); tbl.Add(t); var cmd = new CommandMetadataSchema(Guid.NewGuid(), 382, tbl); Console.WriteLine(((CtpCommand)cmd).ToYAML()); Console.WriteLine(((CtpCommand)(CommandMetadataSchema)(CtpCommand)cmd).ToYAML()); }