Asp.Net MVC 4 视图模型和域模型 ID
Asp.Net MVC 4 view model and domain model ids
我们的系统运行在多台服务器上。我们系统中的所有表格都使用 GUID
作为 Primary Key
和 Foreign Key
字段。然而,这是我们的旧系统,它正在经历全新的重写。
在旧系统中使用 GUID
的动机是为了数据迁移。将项目从一台服务器迁移到另一台服务器是完全合理的。因此,使用 int
作为 id 在数据迁移时会出现问题。
现在,由于迁移因素,我们也想使用 GUID
作为 id 的新系统。新系统将使用 DDD 和 MVC 4 编写。我们还使用 KendoUI 进行 UI 控制。
KendoUI 从外观上看不支持 GUID
进入 Foreign Key
的网格。使用时该列为空白。
有人提到我的设计是错误的,不应该使用GUID
作为id。在View Model
中使用GUID
真的是错误的吗?在 Domain Model
中使用 GUID
和在 View Model
中使用 int
真的很难。
在迁移时 ID 在多个服务器上很重要的系统中使用什么数据类型更好。
或者数据迁移是一个单独的问题,我应该使用 API 和域服务来迁移数据,在这种情况下使用 int
作为 id 是完全合理的。
有人能给我指出正确的方向吗?
您想要使用 GUID 作为 ID 是对的。如果您的 UI 工具不支持 GUID id,请使用其他工具。我要说的是,无论如何,使用特定于供应商的 UI 工具与 ASP.NET MVC 的精神背道而驰。您应该能够找到满足您需要的免费开源软件。
在任何情况下,您都不应为了 UI 控件而将 GUID id 映射到 int id。那只会导致巨大的痛苦。
我们的系统运行在多台服务器上。我们系统中的所有表格都使用 GUID
作为 Primary Key
和 Foreign Key
字段。然而,这是我们的旧系统,它正在经历全新的重写。
在旧系统中使用 GUID
的动机是为了数据迁移。将项目从一台服务器迁移到另一台服务器是完全合理的。因此,使用 int
作为 id 在数据迁移时会出现问题。
现在,由于迁移因素,我们也想使用 GUID
作为 id 的新系统。新系统将使用 DDD 和 MVC 4 编写。我们还使用 KendoUI 进行 UI 控制。
KendoUI 从外观上看不支持 GUID
进入 Foreign Key
的网格。使用时该列为空白。
有人提到我的设计是错误的,不应该使用GUID
作为id。在View Model
中使用GUID
真的是错误的吗?在 Domain Model
中使用 GUID
和在 View Model
中使用 int
真的很难。
在迁移时 ID 在多个服务器上很重要的系统中使用什么数据类型更好。
或者数据迁移是一个单独的问题,我应该使用 API 和域服务来迁移数据,在这种情况下使用 int
作为 id 是完全合理的。
有人能给我指出正确的方向吗?
您想要使用 GUID 作为 ID 是对的。如果您的 UI 工具不支持 GUID id,请使用其他工具。我要说的是,无论如何,使用特定于供应商的 UI 工具与 ASP.NET MVC 的精神背道而驰。您应该能够找到满足您需要的免费开源软件。
在任何情况下,您都不应为了 UI 控件而将 GUID id 映射到 int id。那只会导致巨大的痛苦。