38 lines
914 B
C#
38 lines
914 B
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|