我有一面旗帜,例如
[Flags]
public enum DaysOfTheWeek
{
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64
}
如果我想使用 Linq 根据包含特定标志的变量进行过滤,我可以尝试在 lambda 语句中使用Enum.HasFlag来过滤多个标志,例如
DaysOfWeek weekendFilter = DaysOfTheWeek.Saturday | DaysOfTheWeek.Sunday;
var weekends = allDays.Where(d => d.DayOfWeek.HasFlag(weekendFilter));
这目前给出:
LINQ to Entities 无法识别方法 'Boolean HasFlag(System.Enum)' 方法,并且此方法无法转换为存储表达式。