powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Linq запрос + left
6 сообщений из 6, страница 1 из 1
Linq запрос + left
    #38582530
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Ребят есть табличка записей, вот такой линк запрос, стала задача добавить табличку SEO, обе таблички соединяются по айдишникам (Record.id = SEO.record_id). Все бы хорошо, но не на каждую запись в табличке SEO есть строка (не все записи SEO оптимизированы), поэтому данный запрос выдает только те записи, айдишки которых есть в табл SEO. В простом SQL решается left... а как в линке? Гуглил, но синтаксис непонятный, тем более с моим вариантом. Подскажите пж как тут выкрутиться

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var list = (from rec in db.Records
            join usr in db.UserProfiles on rec.User_id equals usr.id
            join cat in db.CategoriesRecord on rec.Category equals cat.id
            join seo in db.SEOs on rec.id equals seo.id_record

            where rec.Type == 3 && rec.is_publish == true && rec.DateTimePublish < DateTime.Now && rec.Deleted == false
            orderby rec.DateTimePublish descending

            select new { record = rec, user = usr, pathToCat = cat.PathToImg, seo = seo }).Take(NumberRecords).AsEnumerable();
...
Рейтинг: 0 / 0
Linq запрос + left
    #38582591
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick, как то так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
var list = (from rec in db.Records
            join usr in db.UserProfiles on rec.User_id equals usr.id
            join cat in db.CategoriesRecord on rec.Category equals cat.id
            join seo_source in db.SEOs on rec.id equals seo_source.id_record 

            into t1
            join seo in t1.DefaultIfEmpty()

            where rec.Type == 3 && rec.is_publish == true && rec.DateTimePublish < DateTime.Now && rec.Deleted == false
            orderby rec.DateTimePublish descending

            select new { record = rec, user = usr, pathToCat = cat.PathToImg, seo = seo }).Take(NumberRecords).AsEnumerable();
...
Рейтинг: 0 / 0
Linq запрос + left
    #38582684
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuSputnick, как то так


[/src]

спасибо

на временную таблицу пишет имя т1 не существует http://joxi.ru/dpgeUxjKTJCtKBseL3g и в скрине еще одна ошибка
...
Рейтинг: 0 / 0
Linq запрос + left
    #38582693
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick, я опечатался в 1 месте

into t1
from seo in t1.DefaultIfEmpty()
...
Рейтинг: 0 / 0
Linq запрос + left
    #38582923
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuSputnick, я опечатался в 1 месте

into t1
from seo in t1.DefaultIfEmpty()

спасибо большое, работает...

скажи а на будущее наверно лучше все запросы в хранимых процедурах держать... их и дергать? Не знаю как в плане производительности.... но изменение проще - процедуру подправил и готово.... в случае же сайта нужно компилить заново и заливать на хост....
...
Рейтинг: 0 / 0
Linq запрос + left
    #38582988
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sputnick,

как вам нравится так и делайте, если я начну говорить что не надо, то найдется кто то что скажет что на sql. это холиварный вопрос. я к примеру если использую орм, то хранимки использую для сложных и не тривиальных запросов, которые средствами орм затруднительно реализовать. У вас выбора простая и я не вижу смысла это заменять на хранимку. Но есть сторонники всей логики на стороне sql. Есть плюсы и минусы свои.

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


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