Entity Framework 主键设计(人力资源网络应用程序)

Entity Framework Primary Key Design (Human Resources web app)

我要开始 Human Resources (HRMS) 应用程序的开发,我一直在考虑为数据库主键选择最佳数据类型。

应用程序有几个必须具备的:

在使用 Entity Framework 和增量 INT 作为主键之前,我开发了其他企业应用程序,但有时在处理手动导入等时会遇到麻烦,因为主键是动态的。

所以我一直在考虑使用 GUID 作为主键,因为它在数据管理方面为您带来了很多好处,但我想知道 Entity Framework 的表现如何.在我的所有表中使用 GUID 作为主键是否有任何副作用?

我认为在服务器端使用 GUID 的唯一缺点是 Payload 到客户端,因为每个 jSON 从服务器发送到客户端每条记录都会有一个 GUID(36 个字符而不是简单的 INT)。

感谢任何反馈。

除了在尝试比较 Guid 时更难调试外,我不知道有什么缺点。 (整数更容易阅读)。我看到的主要好处是在进行插入时不需要锁定 table 因为你只需说 "Guid.new" (类似的东西)并且它实际上保证是唯一的。

我一直使用 Guid 作为 EF 的主键,所以我确信它工作得很好。除非你的 tables 记录非常非常短,否则我不认为长度是 material 关注的问题。

我的 2 美分。