powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Linq to sql сложный алгоритм
13 сообщений из 13, страница 1 из 1
Linq to sql сложный алгоритм
    #38898303
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Ребят есть вот такая конструкция:

Код: c#
1.
2.
 var result = (db.Records.Where(t => t.id_rec < id).OrderByDescending(t => t.id_rec).Take(1)
                        .Union(db.Records.Where(t => t.id_rec >= id).OrderBy(t => t.id_rec).Take(2))).ToList();



она мне дает айдишки для построения ссылок (вперед/назад в записях определенного типа) - записи типа афоризм - http://aforizmus.com/aphorism/1437

все работало, но недавно добавил в db.Records разные типы записей, и конструкция отбирает также адишки не тех типов записей, нужно исключить, вот так например (&& t.TypeRecord ==1):

Код: c#
1.
2.
 var result = (db.Records.Where(t => t.id_rec < id &&  t.TypeRecord ==1).OrderByDescending(t => t.id_rec).Take(1)
                        .Union(db.Records.Where(t => t.id_rec >= id &&  t.TypeRecord ==1).OrderBy(t => t.id_rec).Take(2))).ToList();



чтобы отбирался только нужный тип записи...

я пробовал разные варианты синтаксиса - && t.TypeRecord ==1 но никак не работает.... как правильно добавить это условие?

Спасибо.
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898328
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "никак не работает"?

В итоговой коллекции нет вообще ничего?

db.Records.Where(t => t.TypeRecord ==1) -- что выдает?
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898333
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЧто значит "никак не работает"?


Where(t => t.id_rec < id && t.TypeRecord ==1)

ругается на синтаксис....


db.Records.Where(t => t.TypeRecord ==1)
---
так естественно работает и выдаст мне все записи типа 1, но мне вот что нужно:


Код: c#
1.
 var result = (db.Records.Where(t => t.id_rec < id &&  t.TypeRecord ==1)....



моя конструкция выбора айдишек и чтобы это были только айдишки типа 1
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898334
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть дело в синтаксисе... я не знаю как этот запрос подредактировать чтобы еще одно условие (тип записи) добавить...
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898340
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnickто есть дело в синтаксисе... я не знаю как этот запрос подредактировать чтобы еще одно условие (тип записи) добавить...


Как ругается-то?

Какой тип у TypeRecord - четко
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898347
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnickdb.Records.Where(t => t.TypeRecord ==1)
---
так естественно работает и выдаст мне все записи типа 1, но мне вот что нужно:


Ты лукавишь.
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898350
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И синтаксис правильный.

Дело в типе TypeRecord
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898352
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueИ синтаксис правильный.

Дело в типе TypeRecord

Вангую на nullable
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898365
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Monochromatique]Sputnickто есть дело в синтаксисе... я не знаю как этот запрос подредактировать чтобы еще одно условие (тип записи) добавить...


блин шаманство какое то.... пробовал не работало, IDE сразу на синтаксис ругалась, мол неправильно... я разные варианты перепробовал, так и ругалось, написал сюда... сейчас еще раз также пробую чтобы вам скрин показать - работает )

и null там быть не может, запрос выбирает только существующие адишки,
полный код как выбирается следующая/предыдущая запись определенного типа записей:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
  ///=======================------------PREV NEXT FOR AFORIZM-------------========================== && t.Type == 1
        public int[] PrevNextRec(int id)
        {

            if (db == null) { db = new DLL.nissanin_AFFEntities(); }



            var result = (db.Records.Where(t => t.id_rec < id && t.Type == 1).OrderByDescending(t => t.id_rec).Take(1)
                        .Union(db.Records.Where(t => t.id_rec >= id && t.Type == 1).OrderBy(t => t.id_rec).Take(2))).ToList();

           
            int tmp = 0;

            if (result.Count() == 3)
            {
                
                tmp = result.ElementAt(2).id_rec;
            }

            int [] Arr = new int[2] {result.ElementAt(0).id_rec, tmp};

            return Arr;
        }
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898370
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нефига себе шаманство - у тебя в прошлых постах было t. TypeRecord, а в этом t.Type
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898373
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnickи null там быть не может, запрос выбирает только существующие адишки,

Нулла там быть не может, если таблицу с записями ты соединяешь внутренним соединением с таблцицей типов записей.

Но даже и тогда - это несвязанные вещи - может быть null в какой-то конкретной таблице, и объявление поле как nullable
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898375
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Linq to sql сложный алгоритм
    #38898381
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ



долго картинку искал? )))) или у тебя набор готовый

пс это не сарказм, картинка в тему действительно )
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Linq to sql сложный алгоритм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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