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