2011-05-24 61 views
0

我的數據庫新手的問題,有哪些是INT PK列MyId。 在映射文件中我有一行關於NHibernate的映射和GUID

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

我知道這是兩種不同的類型,GUID和詮釋,但我的問題是: 是否有可能保持身份識別碼爲INT在我的數據庫和動態地這個記錄轉換爲GUID在服務器級別。例如,如果我想retreive獲取我的請求並將int轉換爲guid。 這可能嗎?

回答

1

不能轉換一個4字節有符號整數爲16字節的二進制值。

你可以做其他的方式,並使用CHECKSUM生成一個GUID一個int,但你會得到碰撞(birthday problem)最終

不明白爲什麼要改變你的鑰匙這樣。你有GUID作爲聚集PK嗎?