当前位置:  开发笔记 > 编程语言 > 正文

LINQ(对SQL)可以进行按位查询吗?

如何解决《LINQ(对SQL)可以进行按位查询吗?》经验,为你挑选了2个好方法。

我有一个用户表,其中包含用户所属角色的位掩码.我想在位掩码值中选择属于一个或多个角色的用户.例如:

select *
from   [User]
where  UserRolesBitmask | 22 = 22

这将选择在其位掩码中具有角色"2","4"或"16"的所有用户.这可以在LINQ查询中表达吗?谢谢.



1> Eric..:

作为我的同事googlers的旁注: UserRolesBitmask | 22 == 22选择所有没有任何其他标志的用户(它不是过滤器,就像说的那样1==1).

你想要的是:

UserRolesBitmask & 22 == 22 选择在其位掩码中具有所有角色的用户或:

UserRolesBitmask & 22 != 0 选择在其位掩码中至少具有一个角色的用户



2> KevDog..:

我认为这将有效,但我还没有测试过它.替换了你的DataContext对象的名称.因人而异.

from u in DataContext.Users
where UserRolesBitmask | 22 == 22
select u

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有