Я новичок в LINQ и Entity Framework и застрял на конкретном запросе, который я пытаюсь написать.У меня есть база данных со структурой ниже.Для простоты я только что включил файлы и поля, которые имеют отношение к проблеме.
Table: SCMPOFILE
Columns:
POKEY
PONUMBER
...
Table: SCMSKUFILE
SKUKEY
POKEY - Foreign Key on SCMPOFILE.POKEY
.....
Table: SCMSHPMAST
SHIPKEY
DELIVERYDATE
.....
Table: SCMSHIPPINGDETAIL
SHPDTLKEY
SHIPKEY - Foreign Key on SCMSHPMAST.SHIPKEY
POKEY - Foreign Key on SCMPOFILE.POKEY
SKUKEY - Foreign Key on SCMSKUFILE.SKUKEY
......
Как видно из структуры, у 1 ключа отгрузки может быть несколько ключей отгрузки. Аналогично, каждый заказ на поставкуи с sku может быть связано несколько ключей отгрузки.
Я пытаюсь найти все skus (SCMSKUFILEs), где SCMSHPMAST.DELIVERYDATE не равен NULL.Поскольку я определил внешние ключи, сгенерированная модель автоматически объединяет SCMSHIPPINGDETAIL с каждым связанным с ним SCMSKUFILE (и SCMSHPMAST, присоединенным к каждому SCMSHIPPINGDETAIL).Я могу делать объединения для всех отдельных файлов, чтобы получить желаемые результаты, но я хочу использовать для этого LINQ и модель, созданную структурой сущностей.
Я пытаюсь сделать что-то вроде этого: - Выбрать все SCMSKUFILE, где SCMSHIPPINGDETAILs имеет SCMSHPMAST с DELIVERYDATE, не равным нулю.
Это можно сделать с помощью одного запроса LINQ?Я много почесал голову, но не могу написать запрос LINQ.
Надеюсь, я правильно объяснил свою проблему.Пожалуйста, дайте мне знать, если я что-то пропустил?
Спасибо, Абхи.