我一直在使用生成器类assigned
来分配我的主键值。我已经阅读了几个博客,其中说明hilo
更好。assigned
结束有好处hilo
吗?
user195488
问问题
989 次
1 回答
3
assigned
当您想自己定义主键时很有用。
如果您从某个地方(例如从另一个数据库或导入的文件)获取值,assigned
可能会很有用。但它肯定是一个指导,而不是一个整数。您也可以使用自然主键,它同时是业务数据和主键。虽然不鼓励这样做。
我会说,assigned
是针对特殊情况,而不是针对常规应用程序。通常你使用人工键,所以你不关心确切的值。自己生成价值可能很困难,至少当您考虑使用同一数据库的多个进程时。
assigned
和(大多数?)其他 id 生成器之间有一个主要区别。assigned
NHibernate 和数据库都没有给出密钥。NHibernate 通常通过评估 id 来知道实体是否已经在数据库中。当您自己分配它时,您还需要了解自己是否需要插入或更新实体。这使得这个 id 生成器很特别。assigned
当您使用任何其他 id 生成器时,您的代码看起来会有所不同。
于 2010-08-09T19:38:03.547 回答