我有一个PrivilegeGroup
表,一个Privileges
表和一个link
表,因为PrivilegeGroup
表和Privileges
表是多对多的关系。我正在考虑在应用程序启动时从数据库加载PrivilegeGroup
table和Privilege
表的所有内容。
我想以易于查找的形式保存它们。通常我们会通过PrivilegeCode
查找GroupId
。
哪种结构有利于此目的?列表数组?字典?
答案 0 :(得分:3)
听起来您希望能够通过GroupId查找PrivelegeCode并且不需要任何其他数据?如果是这种情况,那么您可以使用Dictionary<GroupIdDataType, PrivelegeCodeDataType>
来简化查找。
至于在启动应用程序时一次性加载它们,我想这只取决于在应用程序运行时对这些数据的更改是否会对程序产生任何影响而不必重新启动它。
答案 1 :(得分:2)
我建议你将数据保存在DataTable类的实例中。
答案 2 :(得分:2)
怎么样
Dictionary<GroupIdType, HashSet<PrivilegeCodeType>>
通过这种方式,您可以通过GroupId快速获取HashSet权限,并对HashSet进行快速测试,以检查权限是否存在。