我们的系统运行在多个服务器上。我们系统中的所有表格均使用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