这是布局:
根据我的广泛研究,我确定了以下两种方法来存储用户配置文件设置(两者都提示问题“如何?”),虽然我不确定哪个是最好的(如果有的话):
示例:
我最复杂的用户组需要能够存储与用户关联的所有(用户选择的)产品的配置文件。说我是产品经理,我希望我的帐户能够向我展示我选择负责的所有产品。显然,我角色的每个成员都会有不同的产品和不同数量的产品等。或许用户页面设置(例如搜索,分类,订单默认等)可以存储在通用表中,一个奇怪的东西的辅助设置表的引用,可以通过一个特殊的记录链接到一个特殊的记录,可以作为各种“外键”。
正如我所要求的, 一个我对表计划的想法:
Users (ID, Username, RoleID)
Roles (ID, RoleName, Description) --Lookup Table
Settings (ID, Name, Value)
UserSettings (ID, UserID, SettingID) --Junction Table
然后出现问题:
我的理想答案:
正如你所看到的,我有很多问题并且找不到任何帮助。如果有人可以用简单的术语为我分解,我会喜欢。请告诉我您的专业建议和一些关于如何实现它的超级简单提示(即使用哪些ASP.NET 对象,以及所述对象如何提供机制管理我的复杂配置文件)
答案 0 :(得分:1)
我认为这几乎肯定需要在数据库中建模。
与用户相关联的产品实际上并不是基于角色的东西 - 因此即使您只说经理会有这种关系,也必须在很大程度上独立于角色。只有角色中的用户才会拥有该链接,但这可能是您在应用程序级别强制执行的高级别限制或某种更高级别的约束 - 而不是外键 - 除非您拥有依赖于用户和角色的链接。
然后,充当经理的用户可能拥有某些产品,但充当推销员,不同的产品。然后角色也会在链接表中。有时链接表行确实有关于链接的属性,而不仅仅是链接本身(通常是有效日期和活动/禁用标志之类的东西)。