Я в ситуации, когда мой разум заблокирован, надеюсь, кто-то может мне помочь.Linq MAX in Where clause in Entry table query
У меня есть две таблицы. Одна таблица с клиентами службы подписки и одна таблица счетов. эти таблицы не связаны с ключами в базе данных для хранения истории счетов-фактур, если клиенты удалены. Таким образом, я должен запросить таблицу клиентов, соединяющую таблицу счета-фактуры другим уникальным признаком (не знать в базе данных). Это ограничение использует имя и адрес вместе.
Счет-фактура отправляется один раз в год. В таблице заголовка счета-фактуры дата сохраняется при создании счета-фактуры. Через несколько лет у составителей может быть несколько счетов-фактур.
Я пытаюсь создать запрос linq, но я ищу неправильный путь для решения, которого я боюсь.
кто может указать мне правильный путь?
сейчас у меня есть запрос:
var temp = from c in context.customer
from i in context.invoiceheader
where c.name + c.address == i.name + i.address
&& i.invoicedate < DateTime.Now.Year
select c;
С помощью этого запроса я получаю все клиенты, которые имеют получать счета в прошлом году и стил подписались. Проблема связана с новыми клиентами, которые никогда не получали счет-фактуру.
Что делать клиентам, если в этом случае у них нет счетов-фактур.?
summurized: Я хочу запросить последний счет-фактуру. Если этот счет-фактура старше года (предыдущий год) или нет счета-фактуры отправляется по почте, я хочу вернуть список клиентов, вам должен быть отправлен новый счет-фактура.
это ваш запрос возвращается что-то? и у вас возникают проблемы, когда у вас нет какой-либо ценности в i.name или i.address? и если да, то чего вы хотите получить в этом случае? – Habib
запрос работает хорошо для существующих клиентов, где счет отправлен в прошлом. кроме новых клиентов, не удаляются. Поэтому, если для конкретного клиента нет счета-фактуры (invoice = null) –