【问题标题】:Entity Framework Primary Key Design (Human Resources web app)实体框架主键设计(人力资源网页应用)
【发布时间】:2015-04-08 15:13:45
【问题描述】:

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

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

  • Javascript 框架 (EXTJS)
  • ASP.NET WebAPI服务器端
  • 多租户功能(数据库设计)

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

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

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

感谢任何反馈。

【问题讨论】:

    标签: entity-framework extjs database-design asp.net-web-api


    【解决方案1】:

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

    我一直使用 Guid 作为 EF 的主键,所以我确信它工作得很好。除非您的表格记录非常非常短,否则我认为长度并不重要。

    我的 2 美分。

    【讨论】:

    • 非常感谢分享?
    猜你喜欢
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多