【问题标题】:newbie question about nhibernate mapping and guid关于 nhibernate 映射和 guid 的新手问题
【发布时间】:2011-05-24 06:54:08
【问题描述】:

我的数据库有MyId 列,即INT PK。 在映射文件中我有一行

Id(x => x.Id, "MyId").GeneratedBy.GuidComb();

我知道这是两种不同的类型,guid 和 int,但我的问题是: 是否可以在我的数据库中将 MyId 保留为 INT 并在服务器级别将此记录动态转换为 GUID。例如,如果我想检索我的请求并将 int 转换为 guid。 这可能吗?

【问题讨论】:

    标签: sql-server nhibernate mapping int guid


    【解决方案1】:

    您不能将 4 字节有符号整数转换为 16 字节二进制值。

    您可以通过其他方式执行此操作,并使用 CHECKSUM 从 GUID 生成一个 int,但最终您会遇到冲突 (birthday problem)

    不太清楚为什么要以这种方式更改密钥。你有 GUID 作为集群 PK 吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多