login register Sysop! about ME  

2017년 07월 12일 09시 46분 00초,     조회수 : 490
  제목 : linq 관련 질문 드립니다.
SEQ : 34516 글쓴이 : sunnyhua

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

linq:
prdList = (from aa in prdList
                               join bb in db.C_PRODUCT_OPTION
                               on aa.PRD_NO equals bb.PRD_NO
                               join cc in db.C_CATEGORY_LEAF
                               on aa.PRD_NO equals cc.PRD_NO
                               join dd in db.C_CODE.Where(m=>m.CODEGROUP=="SIZE_PICK_CATEGORY")
                               on cc.CATEGORY1 + cc.CATEGORY2 + cc.CATEGORY3 equals dd.CODE into ee
                               from dd in ee.DefaultIfEmpty()
                               join gg in db.C_PRODUCT_SET
                               on aa.PRD_NO equals gg.PRD_NO into hh
                               from gg in hh.DefaultIfEmpty()
                               where (bb.STOCK_CHECK == "0" && (topSizeArr.Contains(bb.OPTION_CONTENT) || 
                               bottomSizeArr.Contains(bb.OPTION_CONTENT)))
                               || (dd.CODE != null) || (gg.PRD_NO != null) //해당 dd.code 조건과 gg.prd_no 조건 빼면 값정상
                               group aa by new
                               {
                                   aa.PRD_SHOW,
                                   aa.PRD_NO,
                                   aa.PRD_NAME,
                                   aa.PRD_IMAGE1,
                                   aa.SUMMARY,
                                   aa.MARKET_PRICE,
                                   aa.SALE_PRICE,
                                   aa.SALECOUNT,
                                   aa.BRAND_NO,
                                   aa.SHOW_COUNT,
                                   aa.SORT,
                                   aa.SORT2,
                                   aa.ICON,
                                   aa.COUPON_PRICE,
                                   aa.COUPON_NO,
                                   aa.CATEGORY1,
                                   aa.CATEGORY2,
                                   aa.CATEGORY3,
                                   aa.CATEGORY4,
                                   aa.CATEGORY_NAME,
                                   aa.REG_DATE,
                                   aa.ICON_IMGS,
                                   aa.IS_WISH,
                                   aa.DESIGN_CODE,
                                   aa.TODAY_SALE_PRICE,
                                   aa.TODAY_START_DATE,
                                   aa.TODAY_END_DATE,
                                   aa.REVIEW_CNT,
                                   aa.CP_PRICE,
                                   aa.ORDER_CNT,
                                   aa.COUPON_DISCOUNT,
                                   aa.COUPON_DISCOUNT_CHOICE
                               } into g
                               select new PrdListModel
                               {
                                   PRD_SHOW = g.Key.PRD_SHOW,
                                   PRD_NO = g.Key.PRD_NO,
                                   PRD_NAME = g.Key.PRD_NAME,
                                   PRD_IMAGE1 = g.Key.PRD_IMAGE1,
                                   SUMMARY = g.Key.SUMMARY,
                                   MARKET_PRICE = g.Key.MARKET_PRICE,
                                   SALE_PRICE = g.Key.SALE_PRICE,
                                   SALECOUNT = g.Key.SALECOUNT,
                                   BRAND_NO = g.Key.BRAND_NO,
                                   SHOW_COUNT = g.Key.SHOW_COUNT,
                                   SORT = g.Key.SORT,
                                   SORT2 = g.Key.SORT2,
                                   ICON = g.Key.ICON,
                                   COUPON_PRICE = g.Key.COUPON_PRICE,
                                   COUPON_NO = g.Key.COUPON_NO,
                                   CATEGORY1 = g.Key.CATEGORY1,
                                   CATEGORY2 = g.Key.CATEGORY2,
                                   CATEGORY3 = g.Key.CATEGORY3,
                                   CATEGORY4 = g.Key.CATEGORY4,
                                   CATEGORY_NAME = g.Key.CATEGORY_NAME,
                                   REG_DATE = g.Key.REG_DATE,
                                   ICON_IMGS = g.Key.ICON_IMGS,
                                   IS_WISH = g.Key.IS_WISH,
                                   DESIGN_CODE = g.Key.DESIGN_CODE,
                                   TODAY_SALE_PRICE = g.Key.TODAY_SALE_PRICE,
                                   TODAY_START_DATE = g.Key.TODAY_START_DATE,
                                   TODAY_END_DATE = g.Key.TODAY_END_DATE,
                                   REVIEW_CNT = g.Key.REVIEW_CNT,
                                   CP_PRICE = g.Key.CP_PRICE,
                                   ORDER_CNT = g.Key.ORDER_CNT,
                                   COUPON_DISCOUNT = g.Key.COUPON_DISCOUNT,
                                   COUPON_DISCOUNT_CHOICE = g.Key.COUPON_DISCOUNT_CHOICE
                               }).ToList();
쿼리:
SELECT aa.prd_no 
      FROM C_PRODUCT aa
      INNER JOIN c_product_option dd
      ON aa.prd_no = dd.prd_no
      INNER JOIN C_CATEGORY_LEAF cc
      ON aa.prd_no = cc.prd_no
      LEFT JOIN (SELECT * FROM C_CODE WHERE CODEGROUP='SIZE_PICK_CATEGORY') dd
      ON (cc.category1||cc.category2||cc.category3) = dd.code
      LEFT JOIN C_PRODUCT_SET bb 
      ON  aa.prd_no = bb.prd_no
      WHERE ((dd.stock_check = '0' AND (dd.option_content='115'OR dd.option_content='84')) 
      OR dd.code IS NOT NULL 
      OR bb.prd_no IS NOT NULL)
      GROUP BY aa.prd_no

안녕하세요 태오 회원님들 질문이있어 올려봅니다.
해당 쿼리에 분명 데이터가 있습니다(아주많음)
링큐에서도 똑같이 링큐식으로 만들었는데 dd.code != null 부분과 gg.prd_no !=null 부분에
조건이 이상하게 들어갔는데 해당 dd.code 조건과 gg.prd_no 조건 빼면 값정상인데 넣으면 nullexception이
떨어지네요 해결방법 좀 도와주시면 정말 감사하곘습니다!

  sunnyhua
  2017-07-12(11:01)
캐릭 이미지
해결했네요 dd.CODE != NULL이 아닌 dd != null gg != null 로 해줘야 하네요.


제목 작성자 날짜 조회
linq 관련 질문 드립니다. (1) sunnyhua 2017-07-12 490

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})