Как решить OUTER APPLY не поддерживается проблема в этом запросе LINQ - PullRequest
2 голосов
/ 05 ноября 2010

я использую LINQ to Entities с dotConnect для Oracle, и я получаю OUTER APPLY - исключение не поддерживается с помощью этого очень простого запроса LINQ:

from intervenant in Intervenants
select new
{
    intervenant.Code,
    intervenant.Nom,
    Municipalite = intervenant.Adresses.Any() ? intervenant.Adresses.FirstOrDefault().Municipalite : string.Empty,
    CodePostal = intervenant.Adresses.Any() ? intervenant.Adresses.FirstOrDefault().CodePostal : string.Empty
}

Как мне построить запрос для решения этой проблемы?

Большое спасибо за помощь!

UPDATE

Я обновил свой devArt dotConnect для провайдера Oracle, и он решил проблему. Он больше не выполняет OUTER APPLY для этого запроса LINQ.

НО У меня есть другая проблема. Этот запрос linq обслуживает Telerik Grid, и проблема Outer Apply вернулась. Не уверен, что Grid делает внутри, но он делает что-то, что не поддерживается провайдером.

1 Ответ

1 голос
/ 05 ноября 2010

Что происходит, когда вы делаете это?

from intervenant in Intervenants
select new
{
    intervenant.Code,
    intervenant.Nom,
    Municipalite = intervenant.Adresses.FirstOrDefault().Municipalite,
    CodePostal = intervenant.Adresses.FirstOrDefault().CodePostal
}

Можете ли вы вложить это в выражение LINQ, которое преобразует нули в пустые строки?

...