public List <DataSummary> GetDbSummarise() { List <DataSummary> summarise = new List <DataSummary>(); DbConnection conn = db.GetConnection(); DataTable dt = conn.GetSchema("Tables"); DataView dv = dt.DefaultView; dv.Sort = "TABLE_NAME"; conn.Close(); SchemaContainer <XTableSchema> xtc = XTableSchemaContainer.Instance(); foreach (DataRowView dr in dv) { DataSummary tbSummary = new DataSummary(); tbSummary.Name = dr["TABLE_NAME"].ToString(); tbSummary.Description = dr["TABLE_NAME"].ToString(); tbSummary.Caption = dr["TABLE_NAME"].ToString(); tbSummary.Type = dr["TABLE_TYPE"].ToString(); XTableSchema ts = xtc.GetItem(tbSummary.Name); if (xtc.Contains(tbSummary.Name)) { tbSummary.Caption = ts.Title; tbSummary.Description = ts.Description; } summarise.Add(tbSummary); } return(summarise); }
public async Task NodeDynamicProviderTest() { var schema = typeof(NodeDynamicProviderTests).GetTypeInfo().Assembly .GetManifestResourceStream("CapnpNet.Tests.schema.bin"); Message msg = await Message.DecodeAsync(schema); var cgr = msg.GetRoot <CodeGeneratorRequest>(); var sc = new SchemaContainer(); foreach (var node in cgr.nodes) { sc.Nodes.Add(node.id, new SchemaNode(sc, node)); } SchemaNode GetNode(string name) => sc[cgr.nodes.First(n => n.displayName.ToString().EndsWith(name)).id]; dynamic sut = msg.Root.AsDynamic(GetNode("CodeGeneratorRequest")); byte minor = sut.capnpVersion.minor; _output.WriteLine(minor.ToString()); _output.WriteLine( string.Join(", ", (sut as IDynamicMetaObjectProvider) .GetMetaObject(Expression.Parameter(typeof(DynamicStruct))) .GetDynamicMemberNames())); }