
Grabbing Users with a specific value in their profile我在vb .net应用程序中使用成员身份和角色进行身份验证。在应用程序中,我们大约有5个角色,其中某些角色填写了特定的配置文件值。例如,角色是商店,配置文件值是商店编号。显然,如果您在总部工作,则没有门店号码,所以我不在乎。每个商店也可以拥有1名以上的员工。 我需要让用户获得特定的商店编号。这意味着我只希望属于商店编号101的用户显示该列表。我们现在这样做的方式是遍历所有用户,并将符合条件的用户添加到排序列表中。此功能起作用,但问题是当您开始传递大约3,000个用户时。做任何事情都会变得缓慢。 你们将如何找到一种不同的方式呢?我真的不想做自定义存储过程或更改基础类,因为我担心这会在更高版本的.net上中断,因为它们会更改成员资格和角色。 这确实是您要在SQL中进行过滤的一种东西。 我认为没有任何技巧可以绕过数据的线性扫描并获得所需的结果。 如果无法在SQL中执行此操作,那么也许可以避免创建第二个列表,而仅对主用户数组进行排序,并使显示内容仅显示您关注的列表。 这样至少可以节省内存复制时间。
那是我如何做的示例代码。 我不想在SOL方面这样做的原因是,我将非常依赖成员资格和角色不变的事实。 您使用的是内置的.NET角色管理器,我将其保存到SQL Server实例中了吗? 当前正在查看用户对象以评估条件时,用户对象使用什么格式? 如果您发布代码示例,我有个主意... |