【发布时间】:2013-12-17 07:41:44
【问题描述】:
我正在为我的 MVC 应用程序设计用户设置,现在我有大约 20 个布尔设置供用户切换。由于每个用户将始终拥有所有设置,因此我正在考虑将每个设置作为布尔值存储在 User 表中。尽管随着应用程序需求的增长,这将变得笨拙。
第一个问题 - 在这种情况下,你的桌子上有很多列有什么问题吗?
然后我考虑使用标志,并将设置作为一个位存储在一个数组中:
[Flags]
public enum Settings
{
WantsEmail = 1,
WantsNotifications = 2,
SharesProfile = 4,
EatsLasagna = 8
}
然后每个用户将在其用户行中有一个“设置”列,如果有 20 个设置,则存储值 2^20。
我会用它来指导我的工作:What does the [Flags] Enum Attribute mean in C#?
这比以前的方法更好吗?欢迎任何建议。
【问题讨论】:
标签: c# asp.net asp.net-mvc database-design database-schema