Побитовый результат LINQ для словаря - PullRequest
0 голосов
/ 11 июля 2011

Мне нужно запросить таблицу с помощью побитового оператора для получения словарного результата. Я далеко не профессионал, когда дело доходит до 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 Ответ

0 голосов
/ 11 июля 2011

Вы не можете привести запрос к такому словарю, вместо этого вы можете вызвать функцию 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);
...