[英]How to Use Enum Flags with EF 6.1.3?
我认为我的查询不起作用,因为我有枚举标志。
[Flags]
public enum Permissions
{
None = 0,
Read = 1,
Write = 2,
Delete = 4,
Full = 8
}
dbContext.UserStorages.FirstOrDefault(x => x.Permission.HasFlag(Permissions.Write));
在我的 sql 数据库中,该列是一个“int”列。 如果我将其更改为 Permissions.Full,那么现在的值为“8”,然后我将取回记录。
Permissions.Full
不应该是 8,而是 7,如果它意味着读取 + 写入 + 删除。 二进制
Read -> %001
Write -> %010
Delete -> %100
Full -> Read | Write | Delete -> %001 | %010 | %100 -> %111 -> 7
在您的情况下,您要问第二位(即%0010
)是否设置在%1000
,这显然不是。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.