У меня есть 2 таблицы, Receipts
, которые содержат столбцы, такие как Id
, InvoiceId
и т. Д. И Invoices
, которые содержат Id
, InvoiceNo
, RevisionNo
. Квитанция может иметь несколько счетов. Так что на моей странице списка чеков есть столбец с именем InvoiceSet
, в котором список (InvoiceNo + RevisionNo
) будет отображаться через запятую
Например: 2000155 A, 200111 B
в одном столбце. У меня есть поле поиска в верхней части страницы моего списка, где пользователь может искать весь список, используя ключевые слова. Для этой цели я использую предикатный строитель. Поэтому, когда пользователь выполняет поиск 200111 B , список должен фильтроваться и показывать строку с указанным ключом поиска. Поскольку данный ключ поиска является комбинацией invoiceNo и RevisionNo (200111 = invoiceno, B = RevisionNo) из таблицы счетов-фактур, я не могу построить предикат, который может объединить два столбца, используя предикатный построитель.
Я пытался так:
p.Receipts.Any(a => a.Invoice.InvoiceNo + " " + a.Invoice.RevisionNo).Contains(criteria.Search.Value)
но это дает мне сообщение об ошибке
Невозможно преобразовать лямбда-выражение в предполагаемый тип делегата, поскольку
некоторые из возвращаемых типов в блоке неявно конвертируемы
тип возврата делегата
Тип InvoiceNo и RevisinNo имеет тип string
Возможно ли с помощью предиката построить то, что я ищу?