LINQ to SQL — левое внешнее соединение с несколькими условиями соединенияC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 LINQ to SQL — левое внешнее соединение с несколькими условиями соединения

Сообщение Anonymous »

У меня есть следующий SQL, который я пытаюсь перевести в LINQ:

Код: Выделить всё

SELECT f.value
FROM period as p
LEFT OUTER JOIN facts AS f ON p.id = f.periodid AND f.otherid = 17
WHERE p.companyid = 100
Я видел типичную реализацию левого внешнего соединения (т. е. в x из y в x.DefaultIfEmpty() и т. д.), но не знаю, как это сделать. чтобы ввести другое условие соединения (

Код: Выделить всё

AND f.otherid = 17
)

EDIT

Почему AND f.otherid = 17 часть условия JOIN, а не в предложении WHERE?
Потому что f может не существовать для некоторых строк, и я все равно хочу, чтобы эти строки были включены. Если условие применяется в предложении WHERE после JOIN, я не получаю желаемого поведения.

К сожалению, это:

Код: Выделить всё

from p in context.Periods
join f in context.Facts on p.id equals f.periodid into fg
from fgi in fg.DefaultIfEmpty()
where p.companyid == 100 && fgi.otherid == 17
select f.value
кажется, эквивалентно этому:

Код: Выделить всё

SELECT f.value
FROM period as p
LEFT OUTER JOIN facts AS f ON p.id = f.periodid
WHERE p.companyid = 100 AND f.otherid = 17
а это не совсем то, что мне нужно.

Подробнее здесь: https://stackoverflow.com/questions/112 ... conditions
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в LINQ
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в LINQ
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как выполнить левое внешнее соединение с помощью методов расширения LINQ
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как объединить два набора данных с помощью Java, как левое внешнее соединение в SQL [дубликат]
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Сделать левое внешнее соединение в JavaScript
    Гость » » в форуме Jquery
    0 Ответы
    40 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»