[Bug] Не поддерживается DefaultIfEmpty с параметром
От: jefe Россия http://wsconsulting.ru/
Дата: 16.11.10 16:35
Оценка:
Существует два варианта DefaultIfEmpty:

1. DefaultIfEmpty<TSource>(IEnumerable<TSource>)

2. DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)

Первый работает, второй нет. И в юнит-тестах второй вариант нигде не проверяется.
Re: [Bug] Не поддерживается DefaultIfEmpty с параметром
От: IT Россия linq2db.com
Дата: 17.11.10 18:30
Оценка:
Здравствуйте, jefe, Вы писали:

J>1. DefaultIfEmpty<TSource>(IEnumerable<TSource>)

J>2. DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)
J> Первый работает, второй нет. И в юнит-тестах второй вариант нигде не проверяется.

Как это должно раскрываться в SQL?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: [Bug] Не поддерживается DefaultIfEmpty с параметром
От: jefe Россия http://wsconsulting.ru/
Дата: 18.11.10 01:11
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, jefe, Вы писали:


J>>1. DefaultIfEmpty<TSource>(IEnumerable<TSource>)

J>>2. DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)
J>> Первый работает, второй нет. И в юнит-тестах второй вариант нигде не проверяется.

IT>Как это должно раскрываться в SQL?


Параметр для DefaultIfEmpty это дефолтное значение для отсутствующих значений.

Если это примитивный тип, то нужно вместо
SELECT t1.param
генерировать
SELECT (CASE
WHEN (t1.param IS NULL) THEN ДефолтноеЗначение
ELSE t1.param
END) AS param

Если это класс, то тут надо подумать. Entity Framework, например, этот случай не поддерживает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.