public void CanImportManyToOneField() { this.ClearMasterAndChildTable(); this.ClearAllModelData(); //删除所有导入记录 dynamic childModel = this.GetResource("test.child"); dynamic masterModel = this.GetResource("test.master"); using (var xmlStream = Assembly.GetExecutingAssembly() .GetManifestResourceStream(MasterChildXmlResourcePath)) { var importer = new XmlDataImporter(this.Context, "test"); importer.Import(xmlStream); object[][] constraints; constraints = new object[][] { new object[] { "name", "=", "master1" } }; var ids = masterModel.Search(constraints, null, 0, 0); Assert.AreEqual(1, ids.Length); dynamic master1 = masterModel.Browse(ids[0]); Assert.AreEqual(2, master1.children.Length); } }
public void CanImportReferenceField() { this.ClearMasterAndChildTable(); this.ClearAllModelData(); //删除所有导入记录 dynamic testModel = this.GetResource("test.test_entity"); dynamic masterModel = this.GetResource("test.master"); using (var xmlStream = Assembly.GetExecutingAssembly() .GetManifestResourceStream(ReferenceFieldXmlResourcePath)) { var importer = new XmlDataImporter(this.Context, "test"); importer.Import(xmlStream); var masterIds = masterModel.Search(null, null, 0, 0); Assert.AreEqual(1, masterIds.Length); var testModelIds = testModel.Search(null, null, 0, 0); Assert.AreEqual(1, testModelIds.Length); dynamic testModelRecord = testModel.Browse(testModelIds[0]); Assert.AreEqual("master1", testModelRecord.reference_field.name); } }
public void CanImportSimpleData() { this.ClearAllModelData(); this.ClearTestEntityTable(); //删除所有记录 dynamic testObjectModel = this.GetResource("test.test_entity"); var constraints = new object[][] { new object[] { "entity", "=", "test.test_entity" } }; //第一遍更新,应该是插入3条,更新一条,总记录数 3 条 using (var xmlStream = Assembly.GetExecutingAssembly() .GetManifestResourceStream(TestModelXmlResourcePath)) { var importer = new XmlDataImporter(this.Context, "test"); importer.Import(xmlStream); var ids = testObjectModel.Search(null, null, 0, 0); Assert.AreEqual(3, ids.Length); var domain1 = new object[][] { new object[] { "name", "=", "name_changed" } }; ids = testObjectModel.Search(domain1, null, 0, 0); Assert.AreEqual(1, ids.Length); } //再倒入一遍 using (var xmlStream = Assembly.GetExecutingAssembly() .GetManifestResourceStream(TestModelXmlResourcePath)) { var importer = new XmlDataImporter(this.Context, "test"); importer.Import(xmlStream); } var ids2 = testObjectModel.Search(null, null, 0, 0); Assert.AreEqual(3, ids2.Length); }