Использование декомпилятора делегирования и сравнение в вычисляемых свойствах

#entity-framework #properties #delegates #decompiler

#entity-framework #свойства #делегаты #Декомпилятор

Вопрос:

Я использую декомпилятор делегирования в своем проекте. https://github.com/hazzik/DelegateDecompiler

Модель сущности (часть):

 public long Id { get; set; }

public long ItemId { get; set; }

public long InfoItemId { get; set; }

[Computed]
public bool IsInfo
{
    get
    {
        return (InfoItemId > 0 amp;amp; ItemId == 0) ? true : false;
    }
}
  

AttachmentModel:

 private class AttachmentModel
{
    public string OriginalFileName { get; set; } 
    public string ItemFileType { get; set; }
    public string Thumbnail { get; set; }
    public string File { get; set; }
    public string Category { get; set; }
    public bool IsInfo { get; set; }
}
  

Запрос (часть):

 Attachments = (from attachments in db.Attachments
                                        where attachments.ItemId == i.Id || attachments.InfoItemId == infoId
                                        select new AttachmentModel
                                        {
                                            OriginalFileName = attachments.ItemOriginalFileName,
                                            ItemFileType = attachments.ItemFileType,
                                            Thumbnail = attachments.FileThumbnailRelative,
                                            File = attachments.FileUrlRelative,
                                            Category = attachments.ItemFileCategory,
                                            IsInfo = attachments.IsInfo.Computed()
                                        }).ToList()
  

Но я получил ошибку:

LINQ to Entities не распознает метод ‘Boolean ComputedBoolean’, и этот метод не может быть преобразован в выражение хранилища.

Вопрос: Возможно ли использовать декомпилятор делегирования в этом случае? Как? Пожалуйста, приведите какой-нибудь пример.

Комментарии:

1. Здравствуйте, может быть, это будет полезно. Я нашел чрезвычайно полезную статью Дейва Глика [post] ( daveaglick.com/posts/computed-properties-and-entity-framework ), которые описывают различные решения. В моем случае вложения использовались в качестве подзапроса, поэтому, когда я использую и перемещаю метод «.Decompile» из подзапроса на верхний уровень запроса — это решило проблему для меня.