D’abord, regardons la base de données, les champs de ville, comté, dont certains ont des valeurs nulles, c’est-à-dire des valeurs nulles.
Les données que nous avons interrogées sont telles que montrées dans la figure ci-dessus, tant qu’il y a des données nulles dans la ville et le comté, toute la ligne de données n’est pas affichée.
Solution:
Code au début :
- 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();
Code de copie
Code modifié :
- 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();
Code de copie
Les données sont affichées normalement après modification ! Comme montré dans la figure ci-dessous.
|