private bool GetLoadState() { NDO.Mapping.Relation r = pm.NDOMapping.FindClass(typeof(Mitarbeiter)).FindRelation("dieReisen"); FieldInfo fi = typeof(NDO.Mapping.Relation).GetField("Ordinal", BindingFlags.NonPublic | BindingFlags.Instance); Assert.NotNull(fi); object o = fi.GetValue(r); Assert.NotNull(o); return(((IPersistenceCapable)m).NDOGetLoadState((int)o)); }
void AddRelations(TableNode tn, NDO.Mapping.Class cl) { foreach (RelationNode rn in tn.RelationNodes) { Relation rel = rn.Relation; // This is for FkRelations, which must exist as entries in the // tree in order to delete the relation mapping. if (rel.RelationDirection == RelationDirection.DirectedToMe) { return; } if (rn.RelatedTableNode.Table.Skipped) { continue; } NDO.Mapping.Relation r = cl.AddStandardRelation(rel.FieldName, rn.RelatedTableNode.Table.Namespace + "." + rn.RelatedTableNode.Table.ClassName, rel.IsElement, string.Empty, false, false, null); r.RelationName = rel.RelationName; ForeignIntermediateTableRelation fitr = rel as ForeignIntermediateTableRelation; NDO.Mapping.ForeignKeyColumn fkColumn = (NDO.Mapping.ForeignKeyColumn)r.ForeignKeyColumns.First(); if (fitr == null) { fkColumn.Name = rn.Text; } else { fkColumn.Name = fitr.ForeignKeyColumnName; NDO.Mapping.MappingTable mtable = new NDO.Mapping.MappingTable(r); r.MappingTable = mtable; NDO.Mapping.ForeignKeyColumn cfkColumn = mtable.NewForeignKeyColumn(); cfkColumn.Name = fitr.ChildForeignKeyColumnName; mtable.ConnectionId = cl.ConnectionId; if (((DatabaseNode)tn.Parent).Database.OwnerName != string.Empty) { mtable.TableName = ((DatabaseNode)tn.Parent).Database.OwnerName + "." + fitr.TableName; } else { mtable.TableName = fitr.TableName; } } } }