【发布时间】:2020-02-24 18:31:44
【问题描述】:
也许这已经被问了很多,但我找不到关于它的全面帖子。
问:当您不想将 id 从数据库传递到前端时,有哪些选项?您不希望用户能够看到您的数据库中有多少条记录。
到目前为止我发现/听到的:
- 在后端加密和解密 Id
- 使用 GUID 而不是数字自动递增 Id 作为 PK
- 将 GUID 与自动递增的 Id 一起用作 PK
问:您认识其他任何人吗?或者您对其中任何一个有经验吗?性能和技术问题是什么?如果您知道,请提供有关此主题的文档和博客文章。
【问题讨论】:
-
使用 guid 是最好的,但如果你真的想要一个 int 并且不想发送它,我猜如果你不需要前面的 id,映射可以工作。
-
@LucaBNW 我认为仅使用 GUID 可能会导致长期性能问题。
-
你需要前端的 id 吗?如果没有,则将 User 映射到没有 id 的 UserModel 之类的东西,然后将 UserModel 返回到前端。如果你需要它在前面,我不确定。不过,我总是选择 guid。
-
除了虚假的安全感之外,这还能给你什么?
-
对Id加解密后端比想多了
标签: sql-server database asp.net-core entity-framework-core azure-sql-database