对象A
具有一对多关联:许多对象B
。
当我查看数据库时TableB
——我希望看到唯一的、可读的字符串,A.Name
而不是总是在代理整数标识符上加入或子选择来查看名称。
我可以映射Name
为 的标识符A
,但这会导致大量额外的SELECT
查询,因为 NHibernate 无法识别 的实例A
是瞬态的还是持久的。
我想我可以使用复合键,将本地分配的代理键与自然键结合起来。这似乎不是最理想的,但我很想听听一些意见。
我真正想要的是一种使用单列自然键同时允许 NHibernate 识别瞬态实例的策略。
- 可能吗?
- 什么是映射——fluent 还是 hbm?
另一方面,如果这一切都是一个糟糕的想法,我应该只依靠带有子选择的数据库视图,请解释一下。
谢谢。