먼저, 데이터베이스, 도시, 카운티 필드를 살펴보겠습니다. 이 중 일부는 null, 즉 null 값을 가지고 있습니다.
우리가 조회한 데이터는 위 그림과 같이, 도시와 카운티에 null 데이터가 있는 한 전체 데이터 라인이 표시되지 않습니다.
용액:
처음에 코드:
- rc.children = (from rp in db.RegionPlace
- join a in db.PlaceInfo on rp.Province equals a.PlaceID
- join b in db.PlaceInfo on rp.City equals b.PlaceID
- join c in db.PlaceInfo on rp.County equals c.PlaceID
- where rp.RegionID == r.RegionID
- select new RegionClass { RegionName = "", Province = a.PlaceName, City = b.PlaceName, County = c.PlaceName }).ToList();
코드 복사
수정된 코드:
- rc.children = (from rp in db.RegionPlace
- join a in db.PlaceInfo on rp.Province equals a.PlaceID
- join b in db.PlaceInfo on rp.City equals b.PlaceID
- into btemp
- from bt in btemp.DefaultIfEmpty()
- join c in db.PlaceInfo on rp.County equals c.PlaceID
- into ctemp
- from ct in ctemp.DefaultIfEmpty()
- where rp.RegionID == r.RegionID
- select new RegionClass { RegionName = "", Province = a.PlaceName, City = bt.PlaceName == null ? "" : bt.PlaceName, County = ct.PlaceName == null ? "" : ct.PlaceName }).ToList();
코드 복사
수정 후 데이터는 정상적으로 표시됩니다! 아래 그림에서 볼 수 있듯이.
|