В С# я сохраняю значение перечисления флагов в базе данных в виде байта. Например, для следующего перечисления Flags:
[Flags]
public enum Options
{
None = 0,
First = 1,
Second = 2,
Third = 4
}
Если я хочу записать «Первый» и «Второй», я сохраняю это как байт «3» в поле «Параметры» записи в базе данных.
Итак, при использовании LINQ, как я могу проверить, соответствует ли значение в базе данных «любому» из параметров в аргументе, переданном как перечисление «Параметры», что-то вроде этого псевдокода:
public static Something(Options optionsToMatch)
{
db.MyEntity.Get(a => a.options contains any of the options in optionsToMatch);
None
? - person Sehnsucht   schedule 25.08.2016