Побитовый результат LINQ для словаря

Мне нужно запросить таблицу с помощью побитового оператора, чтобы получить результат словаря. Я далеко не профессионал, когда дело доходит до LINQ, у меня есть следующее:

    return (Dictionary<string, bool>) (from r in db.LocationVisibilities
                                       where (r.Code & (int) permissionLevel) != 0 //bitwise statement in where clause
                                       select new
                                                  {
                                                      r.Item, value = Boolean.Parse(r.Attribute.ToString())
                                                  });

1 ответ

Решение

Вы не можете привести запрос к словарю, как это, вы можете вызвать ToDictionary вместо этого, и он будет обрабатывать все детали для вас.

var dict=
   (from r in db.LocationVisibilities
    where (r.Code & (int) permissionLevel) != 0 //bitwise statement in where clause
    select new {
      r.Item, value = Boolean.Parse(r.Attribute.ToString())
    }).ToDictionary(w=>w.Item, w=>w.value);
Другие вопросы по тегам