Ошибка пользовательского свойства в linq для сущностей - PullRequest
0 голосов
/ 23 сентября 2010

Я использую EF4 и получаю сообщение об ошибке с моим пользовательским свойством. У меня есть 2 свойства в классе приложения, а именно Инициалы и Фамилия . Это частичный класс. Я создал собственное свойство в своем классе Application под названием Owner , и оно выглядит так:

public partial class Application
{
   public string Owner
   {
      get
      {
         return Initials + " " + Surname;
      }
   }
}

Когда я добавляю его в свою сетку так:

m => m.Owner

Тогда я получаю следующую ошибку:

Указанный элемент типа «Владелец» не поддерживается в LINQ to Entities. Поддерживаются только инициализаторы, элементы сущностей и свойства навигации сущностей.

Как мне это исправить?

Спасибо Брендан

1 Ответ

1 голос
/ 23 сентября 2010

Я думаю, вы должны показать больше кода, потому что на данный момент описание вашей проблемы не завершено. В любом случае, вы не можете использовать свойство Owner в любом запросе Linq, работающем с IQueryable (Linq для сущностей). Пользовательские свойства никогда не могут появляться в запросе Linq для объектов, потому что такой запрос сопоставляется с SQL, где свойство не существует. Сначала вы должны выбрать данные с помощью Linq для объектов, вызвать ToList или AsEnumerable, а затем выбрать свойства, включая владельца в Linq, для объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...