Пример #1
0
        public static void AssertEquals(Document d1, Document d2, bool skipGeometryAndNodes = false)
        {
            var schema1 = VimSchema.Create(d1);
            var schema2 = VimSchema.Create(d2);

            Assert.IsTrue(VimSchema.SameSchema(schema1, schema2));

            Assert.AreEqual(d1.EntityTables.Keys.ToArray(), d2.EntityTables.Keys.ToArray());
            foreach (var k in d1.EntityTables.Keys.ToEnumerable())
            {
                if (skipGeometryAndNodes && (k.ToLowerInvariant().Contains("node") || k.ToLowerInvariant().Contains("geometry")))
                {
                    continue;
                }
                AssertEquals(d1.EntityTables[k], d2.EntityTables[k]);
            }
        }
Пример #2
0
        public static VimSchema GetCurrentSchema()
        {
            var vs = new VimSchema();

            vs.Version = VimConstants.ObjectModelVersion.ToString();
            foreach (var et in GetEntityTypes())
            {
                var t = vs.AddTable(GetEntityTableName(et).SimplifiedName());
                foreach (var f in GetEntityFields(et))
                {
                    t.AddColumns(f.Name, f.FieldType);
                }

                foreach (var f in GetRelationFields(et))
                {
                    t.AddColumn(f.GetRelationColumnName(), VimSchema.ColumnType.Index);
                }
            }
            return(vs);
        }