Jak poprawnie wdrożyć IUserType?
Muszę utworzyćniestandardowy typ dlaNHibernate pisząc nową klasę mapera, która implementujeIUserType
. Chociaż stosunkowo łatwo jest zastąpić większość metod i właściwości, mam pewne trudności ze zrozumieniem, jak poprawnie postępować z następującymi członkami:
object Assemble(object cached, object owner);
object DeepCopy(object value);
object Disassemble(object value);
object Replace(object original, object target, object owner);
Nie rozumiem, jaki jest ich cel; i co ważniejsze, jak prawidłowo je wdrożyć. Większość przykładów, które widziałem, po prostu zwraca surowy parametr wejściowy.
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;
}
Jak poprawnie wdrożyć te metody w prawdziwym przypadku lub bardziej złożonym scenariuszu?