我需要通过编写一个实现自定义类型的新映射类来为NHibernate创建一个IUserType。虽然覆盖大多数方法和属性相对简单,但我很难理解如何正确处理以下成员:
object Assemble(object cached, object owner);object DeepCopy(object value);object Disassemble(object value);object Replace(object original, object target, object owner);我不明白它们的确切目的是什么;更重要的是,如何适当地执行它们。我看到的大多数示例只是返回原始输入参数。
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;
}如何在实际情况或更复杂的场景中正确地实现这些方法?
发布于 2009-10-16 11:26:03
看看Ritesh Rao是如何在他的NCommon框架中做到这一点的:
MoneyUserType实现一个名为CompositeUserTypeBase的基类。
评论中还有更多的细节,但总括而言:
这里更详细地解释了
发布于 2010-03-17 15:44:03
您可能想看看这个文章。这是如何实现IUserType接口的一个很好的例子。
https://stackoverflow.com/questions/1565056
复制相似问题