Я использую OMS, которая хранит до трех позиций на запись в базе данных.
Ниже приведен пример заказа, содержащего пять позиций.
Order Header
Order Detail
Prod 1
Prod 2
Prod 3
Order Detail
Prod 4
Prod 5
Одна запись заголовка заказа и две подробные записи.
Моя цель - иметь отношение один к одному для подробных записей (то есть одна подробная запись на позицию) В прошлом я использовал оператор SQL UNION ALL
для извлечения данных. Есть ли лучший подход к этой проблеме с использованием LINQ?
Ниже приведена моя первая попытка использования LINQ. Любые отзывы, предложения или рекомендации будут с благодарностью. Из того, что я прочитал, заявление UNION
может облагать налогом процесс?
var orderdetail =
(from o in context.ORDERSUBHEADs
select new {
edpNo = o.EDPNOS_001, price = o.EXTPRICES_001,
qty = o.ITEMQTYS_001 }
).Union(from o in context.ORDERSUBHEADs
select new { edpNo = o.EDPNOS_002, price = o.EXTPRICES_002,
qty = o.ITEMQTYS_002 }
).Union(from o in context.ORDERSUBHEADs
select new { edpNo = o.EDPNOS_003, price = o.EXTPRICES_003,
qty = o.ITEMQTYS_003 });