using System; using System.Xml; namespace oodb.mapping { public class ReferenceMapping : NaiveMapping { public ReferenceMapping(OODB oodb, Type type) : base(oodb, type) { } public override object FromText(string text) { if (String.Empty.Equals(text)) return null; Guid persistenceID = Guid.Parse(text); return OODB.Load(NativeType, persistenceID); } public override string ToText(object value) { Persistent reference = value as Persistent; if (reference == null) { return Guid.Empty.ToString(); } else { string text = reference.PersistenceID.ToString(); OODB.Ensure(reference); return text; } } } }