powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq2Sql правильный Where для Detail
3 сообщений из 3, страница 1 из 1
Linq2Sql правильный Where для Detail
    #36365071
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет! Есть таблица Master и детальная таблица Detail c колонками

Код: plaintext
1.
2.
3.
4.
create table Detail (
id int IDENTITY(1,1) NOT NULL pk,
MasterId int not null referenc Master(id), -- FK на pk таблицы Master 
typeid int null
)
Как выглядит запрос который выбирает строки Master у которых (строк Master) все строки Detail имеют значение столбца typeid строго из заданного списка скажем 1, 8, 121 ?
...
Рейтинг: 0 / 0
Linq2Sql правильный Where для Detail
    #36366425
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OldWokerПривет! Есть таблица Master и детальная таблица Detail c колонками

Код: plaintext
1.
2.
3.
4.
create table Detail (
id int IDENTITY(1,1) NOT NULL pk,
MasterId int not null referenc Master(id), -- FK на pk таблицы Master 
typeid int null
)
Как выглядит запрос который выбирает строки Master у которых (строк Master) все строки Detail имеют значение столбца typeid строго из заданного списка скажем 1, 8, 121 ?
Самый простой вариант
MasterTbls.Where(p => p.DetailTbls.All(d => typeslist.Contains((d.tapyId ?? -1))))
сразу даёт парадокс - все строки Master у которых вооще нет Detail этим выражением выбираются!
...
Рейтинг: 0 / 0
Linq2Sql правильный Where для Detail
    #36368333
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты подумай логически, как определить, все элементы удовлетворяют условию, или нет элементов?
Прямое ("число строк Details где typeid in (1,3,5)==общее число строк") и инвертированное ("число строк Details где typeid not in (1,3,5) == 0, но число строк строк>0) условия в любом случае требуют дополнительный подсчет общего числа строк в деталях, чтобы исключить такие пустые элементы.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq2Sql правильный Where для Detail
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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