У меня есть класс, который имеет следующее свойство:
[NotMapped]
public string Key
{
get
{
return string.Format("{0}_{1}", Process.Name, LocalSequenceNumber);
}
}
Локальный порядковый номер — это вычисляемое целое число, поддерживаемое кешем в форме параллельного словаря.
Я хочу использовать указанное выше свойство Key в запросе LINQ, но получаю исключение:
Член указанного типа "Key" не поддерживается в LINQ to Entities. Поддерживаются только инициализаторы, члены сущностей и свойства навигации сущностей.
Я понимаю, почему я получаю эту ошибку, но я не слишком уверен в том, как ее исправить. В настоящее время свойство Key обеспечивает хорошую инкапсуляцию моего класса, с которой я не хочу расставаться. Любые предложения с точки зрения библиотек или простых шаблонов, чтобы обойти это?
Изменить: вот запрос, который вызывает исключение:
db.Cars.SingleOrDefault(c => c.Id == id && c.Key == key);
NotMappedAttribute
, то свойство не может быть преобразовано в оператор SQL. - person Tetsuya Yamamoto   schedule 15.10.2018Select
для проецирования его в класс модели. Прочитайте аналогичную проблему здесь: stackoverflow.com/questions/25867470/. - person Tetsuya Yamamoto   schedule 15.10.2018