powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq join isnull
10 сообщений из 10, страница 1 из 1
Linq join isnull
    #39152029
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оптимизировали t-sql запрос, добавлен join вида:
inner join t_Person on personid = isnull([t1].[rf_personid], [t2].[rf_personid ])

Вопрос, как преобразовать к linq ?
...
Рейтинг: 0 / 0
Linq join isnull
    #39152039
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
...
let id = t1.rf_personid ?? t2.rf_personid
join p in Db.t_Person on id equals p.personid
...
Рейтинг: 0 / 0
Linq join isnull
    #39152047
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ругается на t1.rf_personid
Left operand of the '??' operator shoul be of reference or nullable type
Error 154 Operator '??' cannot be applied to operands of type 'int' and 'int'
...
Рейтинг: 0 / 0
Linq join isnull
    #39152083
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что непонятно в сообщении об ошибке?
если у тебя поле t1.rf_personid типа int, то проверять его на null не нужно, потому что бессмысленно
...
Рейтинг: 0 / 0
Linq join isnull
    #39152088
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
через join в итоге могут быть и null вот в чем весь секрет... поле то собственное тип int а джойном может данных не быть и будет null
...
Рейтинг: 0 / 0
Linq join isnull
    #39152098
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Крвот в чем весь секретпричем тут join?
у тебя ошибка в первой строке
поле int НЕ МОЖЕТ НИКОГДА быть null и оператор ?? к нему неприменим
...
Рейтинг: 0 / 0
Linq join isnull
    #39152100
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
повторюсь, как тогда сделать в linq работающий t-sql

Оптимизировали t-sql запрос, добавлен join вида:
inner join t_Person on personid = isnull([t1].[rf_personid], [t2].[rf_personid ])

Вопрос, как преобразовать к linq ?
...
Рейтинг: 0 / 0
Linq join isnull
    #39152104
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это значит, что ты ошибся где-то раньше - до join-а

ты объявил поле t1.rf_personid как int, а надо как int?
...
Рейтинг: 0 / 0
Linq join isnull
    #39152106
Алексей Кр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как преобразовать t-sql в linq
...
Рейтинг: 0 / 0
Linq join isnull
    #39152109
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Крповторюсь, как тогда сделать в linq работающий t-sql

Оптимизировали t-sql запрос, добавлен join вида:
inner join t_Person on personid = isnull([t1].[rf_personid], [t2].[rf_personid ])

Вопрос, как преобразовать к linq ?Ну там же написано, что поле rf_personid должно иметь тип int? , а не int как в твоём коде.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Linq join isnull
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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