2

我有一个像 Animal 和 Cat 这样的继承映射。两个类都有自己的表(映射为连接子类)。我现在尝试 NHibernate 只保存一个 Animal 对象,当我向 NHibernate 的保存(或持久)方法提供一个 Cat 对象时。

通过阅读文档,我认为session.Save("Animal", catObject)应该做我想做的事,但它的行为与session.Save(catObject).

但是,创建一个新的 Animal 对象并从 Cat 对象复制值是可行的,但这会浪费时间和内存。

还有其他可能实现我想要的吗?

4

1 回答 1

2

你不能这样做,如果你需要,IMO 就会遇到设计问题。如果您需要保存一个,Animal那么您必须使用一个Animal实例,而不是一个Cat或任何其他类型的实例

同样正如@PaulPhillips 所说,创建一个对象的性能/内存成本在某些情况下可以忽略不计

于 2012-07-12T14:41:56.183 回答