Wie implementiere ich IUserType richtig?

Ich muss eine erstellenbenutzerdefinierte Art zumNHibernate indem Sie eine neue Mapper-Klasse schreiben, die implementiert wirdIUserType. Während es relativ einfach ist, die meisten Methoden und Eigenschaften zu überschreiben, habe ich einige Schwierigkeiten zu verstehen, wie man mit den folgenden Mitgliedern richtig umgeht:

object Assemble(object cached, object owner);object DeepCopy(object value);object Disassemble(object value);object Replace(object original, object target, object owner);

Ich verstehe nicht, was genau ihr Zweck ist; und noch wichtiger, wie man sie richtig umsetzt. Die meisten Beispiele, die ich gesehen habe, geben nur den rohen Eingabeparameter zurück.

public object DeepCopy(object value)
{
    return value;
}

public object Replace(object original, object target, object owner)
{
    return original;
}

public object Assemble(object cached, object owner)
{
    return cached;
}

public object Disassemble(object value)
{
    return value;
}

So implementieren Sie diese Methoden richtig in einem realen Fall oder komplexeren Szenario?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage