데이터베이스의 레코드 당 최대 세 개의 광고 항목을 저장하는 OMS를 사용하고 있습니다.LINQ 정규화 데이터
다음은 5 개의 광고 항목이 포함 된 광고 주문의 예입니다.
Order Header
Order Detail
Prod 1
Prod 2
Prod 3
Order Detail
Prod 4
Prod 5
하나의 주문 헤더 레코드와 두 개의 상세 레코드.
내 목표는 세부 레코드 (예 : 광고 항목 당 하나의 세부 레코드)에 대해 일대일 관계입니다. 과거에는 SQL 문을 사용하여 데이터를 추출했습니다. 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 });
'E ... _ 00n' 이름이 그 형태로 고정되어 있습니까? 세 개 미만인 경우 어떻게됩니까? 'null' 값은? – tzaman
예, 테이블 열은 _00n으로 고정되어 있습니다. 스키마는 데이터 형식을 배열로 지원하는 HPe3000 IMAGE 데이터베이스에서 마이그레이션되었습니다. 항목 수준 세부 정보가 배열에 저장되었습니다. 광고 항목이 하나만있는 경우 다른 두 값의 항목 ID는 0입니다. 가격과 수량도 마찬가지입니다. 널 (null) 값의 가능성은 없습니다. 열의 기본값은 0 또는 공백입니다. 이 모든 것을 뒷받침하는 이유는 하루 안에 공간을 절약하기 위해서였습니다. 디자이너는 주문에 가장 많은 수의 광고 항목을 가져 와서 주문 세부 스키마를 만들었습니다. 감사합니다. Brennan –