Beispiel #1
0
        public void CreateTable(string command, string dbName)
        {
            var tableName = DbApiHelper.GetName(command);
            var xmlFile   = new XDocument(
                new XDeclaration("1.0", "Unicode", "yes"),
                new XComment(string.Format("{0}.{1}", dbName, tableName)));

            var columns      = DbApiHelper.ParseColumnInfo(command);
            var metaInfoNode = new XElement(_columnInfoTagName);

            metaInfoNode.AddFirst(columns.Select(c => new XElement(c.Name, c.Type)));
            var columnContentNode = new XElement(_columnContentTagName);

            var rootNode = new XElement(tableName, metaInfoNode, columnContentNode);

            xmlFile.AddFirst(rootNode);

            DbApiHelper.OpenDbForAction(_сontentFolder, dbName, database =>
            {
                using (var xmlStream = database.CreateEntry(tableName).Open())
                {
                    xmlFile.Save(xmlStream);
                    return(null);
                }
            });
        }