我們的系統運行在多個服務器上。我們系統中的所有表格均使用GUID
作爲Primary Key
和Foreign Key
字段。然而,這是我們的舊系統,它正在經歷一個全新的重寫。Asp.Net MVC 4查看模型和域模型ID
在舊系統中使用GUID
的動機是用於遷移數據。將項目從一臺服務器遷移到另一臺服務器是完全合理的。因此,使用int
作爲ID會在數據遷移時遇到問題。
現在我們希望使用GUID
作爲ids的新系統也是由於遷移因素。新系統將使用MVC 4的DDD編寫。我們還使用KendoUI進行UI控制。
KendoUI的東西看起來不支持GUID
其網格爲Foreign Key
s。使用它時,該列爲空白。
有人提到我的設計是錯誤的,不應該使用GUID
作爲id。在View Model
中使用GUID
真的是錯誤的嗎?在View Model
的Domain Model
和int
中使用GUID
確實很困難。
在遷移的情況下,跨多個服務器的Ids很重要的系統中使用的更好的數據類型是什麼?
或者數據遷移是一個單獨的問題,我應該使用API和域服務來遷移數據,在這種情況下使用int
作爲id是完全合理的。
請問有人能指點我正確的方向嗎?
爲什麼不只是讓你的視圖模型把你的GUID看作一個字符串,然後在持久化時把它轉換回GUID呢? – Marco
我試過了,它沒有與KendoUI一起使用。那麼'GUID'是更好的方法呢? –
您使用的pk取決於您以及您的系統需求。爲什麼不聯繫Telerik並詢問他們有關GUID的問題? – Marco