Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Наитупейший вопрос об анонивных типах и Linq / 12 сообщений из 12, страница 1 из 1
26.10.2012, 13:28
    #38014470
НовыйЯ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
Банальная проверка прав с использовнием Linq
Код: c#
1.
2.
3.
4.
5.
6.
            var queryx = from u in orgContext.SystemUserSet
                         join sur in orgContext.SystemUserRolesSet on u.SystemUserId equals sur.SystemUserId
                         join r in orgContext.RoleSet on sur.RoleId equals r.RoleId
                         where (u.DomainName == current_user)
                         where (r.Role == role)
                         select new { user_name = u.FullName, user_domain = u.DomainName, role_name = r.Name, role_id = r.RoleId};



Как теперь понять, есть чо в анонимной переменной queryx или нет, если Count() не работает ['The method 'Count' is not supported'] и на Null проверять бессмыссленно?

foreach-ем пройтись с счётчиком что ли?

Или есть менее кривой способ?
...
Рейтинг: 0 / 0
26.10.2012, 14:38
    #38014599
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
НовыйЯБанальная проверка прав с использовнием Linq
Код: c#
1.
2.
3.
4.
5.
6.
            var queryx = from u in orgContext.SystemUserSet
                         join sur in orgContext.SystemUserRolesSet on u.SystemUserId equals sur.SystemUserId
                         join r in orgContext.RoleSet on sur.RoleId equals r.RoleId
                         where (u.DomainName == current_user)
                         where (r.Role == role)
                         select new { user_name = u.FullName, user_domain = u.DomainName, role_name = r.Name, role_id = r.RoleId};




Как теперь понять, есть чо в анонимной переменной queryx или нет, если Count() не работает ['The method 'Count' is not supported'] и на Null проверять бессмыссленно?

foreach-ем пройтись с счётчиком что ли?

Или есть менее кривой способ?

.Any()
...
Рейтинг: 0 / 0
26.10.2012, 16:14
    #38014864
НовыйЯ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
pationНовыйЯБанальная проверка прав с использовнием Linq
Код: c#
1.
2.
3.
4.
5.
6.
            var queryx = from u in orgContext.SystemUserSet
                         join sur in orgContext.SystemUserRolesSet on u.SystemUserId equals sur.SystemUserId
                         join r in orgContext.RoleSet on sur.RoleId equals r.RoleId
                         where (u.DomainName == current_user)
                         where (r.Role == role)
                         select new { user_name = u.FullName, user_domain = u.DomainName, role_name = r.Name, role_id = r.RoleId};




Как теперь понять, есть чо в анонимной переменной queryx или нет, если Count() не работает ['The method 'Count' is not supported'] и на Null проверять бессмыссленно?

foreach-ем пройтись с счётчиком что ли?

Или есть менее кривой способ?

.Any()
Те же яйца:
"The method 'Any' is not supported"
...
Рейтинг: 0 / 0
26.10.2012, 16:33
    #38014926
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
НовыйЯ,

что-то вы не то делаете. ToList() добавьте
...
Рейтинг: 0 / 0
26.10.2012, 16:34
    #38014931
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
в любом случае работает:

Код: c#
1.
2.
3.
           var rss = new List<Result>() { new Result() { Id1 = 3, Id2 = 7948 }, new Result() { Id1 = 4, Id2 = 21 } };
            var snew = (from result in rss select new {result.Id1});
            var exists = snew.Any();
...
Рейтинг: 0 / 0
26.10.2012, 16:38
    #38014939
НовыйЯ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
netivanНовыйЯ,
что-то вы не то делаете. ToList() добавьте

Фишка в том, что на этом слое неясно, что ставить внутрь List.

Отдельно создавать для этого коллекцию?
Тоже вариат, но это из пушки по воробьям.

Может есть всё-таки способ попроще проверить на заполненность анонимную коллекцию?
...
Рейтинг: 0 / 0
26.10.2012, 16:41
    #38014947
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
НовыйЯ,

я же пример написал без List<>. Тоже самое и работает)
...
Рейтинг: 0 / 0
29.10.2012, 19:18
    #38017658
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
НовыйЯnetivanНовыйЯ,
что-то вы не то делаете. ToList() добавьте

Фишка в том, что на этом слое неясно, что ставить внутрь List.

Отдельно создавать для этого коллекцию?
Тоже вариат, но это из пушки по воробьям.

Может есть всё-таки способ попроще проверить на заполненность анонимную коллекцию?

using System.Linq стоит?
...
Рейтинг: 0 / 0
30.10.2012, 18:19
    #38019202
НовыйЯ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
pationНовыйЯпропущено...


Фишка в том, что на этом слое неясно, что ставить внутрь List.

Отдельно создавать для этого коллекцию?
Тоже вариат, но это из пушки по воробьям.

Может есть всё-таки способ попроще проверить на заполненность анонимную коллекцию?

using System.Linq стоит?
Ага, подключен.

Да и сам Линк работает нормально: коллекции получает и foreach-ем нормально по ним проходится.
Только Any() работать не хочет.((
...
Рейтинг: 0 / 0
30.10.2012, 19:18
    #38019291
netivan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
НовыйЯ,

выложите солюшен весь чтоли.
ЗЫ кстати под какой Framework сделано? не Client Profile случаем?
...
Рейтинг: 0 / 0
05.11.2012, 12:41
    #38025533
Deza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
НовыйЯБанальная проверка прав с использовнием Linq
Код: c#
1.
2.
3.
4.
5.
6.
            var queryx = from u in orgContext.SystemUserSet
                         join sur in orgContext.SystemUserRolesSet on u.SystemUserId equals sur.SystemUserId
                         join r in orgContext.RoleSet on sur.RoleId equals r.RoleId
                         where (u.DomainName == current_user)
                         where (r.Role == role)
                         select new { user_name = u.FullName, user_domain = u.DomainName, role_name = r.Name, role_id = r.RoleId};



Как теперь понять, есть чо в анонимной переменной queryx или нет, если Count() не работает ['The method 'Count' is not supported'] и на Null проверять бессмыссленно?

foreach-ем пройтись с счётчиком что ли?

Или есть менее кривой способ?



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
            InitializeComponent();
            var queryx = from u in orgContext.SystemUserSet
                         join sur in orgContext.SystemUserRolesSet on u.SystemUserId equals sur.SystemUserId
                         join r in orgContext.RoleSet on sur.RoleId equals r.RoleId
                         where (u.DomainName == current_user)
                         where (r.Role == role)
                         select new MyUser() { Name= u.FullName, Domain = u.DomainName, Role=  r.Name, RoleId = r.RoleId };


        public class MyUser {
            public string Name { get; set; }
            public string Domain { get; set; }
            public string Role { get; set; }
            public int RoleId { get; set; }
        }



и все будет работать
...
Рейтинг: 0 / 0
25.11.2012, 17:35
    #38052258
Monochromatique
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наитупейший вопрос об анонивных типах и Linq
И так все должно работать. Без плясок.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Наитупейший вопрос об анонивных типах и Linq / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]