Линк «Не смог перевести выражение… в SQL и не смог обработать его как локальное выражение».

Я начал сэтот вопросНа что я вроде ответилтами теперь яЯ задаю более фундаментальный вопрос здесь. Я'мы упростили запрос до этого:

var q = from ent in LinqUtils.GetTable()
        from tel in ent.Telephones.DefaultIfEmpty()
        select new {
          Name = ent.FormattedName,
          Tel = tel != null ? tel.FormattedNumber : "" // this is what causes the error
        };

tel.FormattedNumber это свойство, которое сочетает в себеNumber а такжеExtension поля в аккуратно отформатированную строку. И здесь'S ошибка, которая приводит к:

System.InvalidOperationException: Could not translate expression 'Table(Entity).SelectMany(ent => ent.Telephones.DefaultIfEmpty(), (ent, tel) => new f__AnonymousType0`2(Name = ent.FormattedName, Tel = IIF((tel != null), tel.FormattedNumber, "")))' into SQL and could not treat it as a local expression.

Если я изменю ссылку выше сFormattedNumber простоNumberвсе работает нормально.

Но я хочу, чтобы отформатированный номер отображался в моем списке. Что вы рекомендуете как самый чистый и чистый способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос