Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 23858|Απάντηση: 0

[Πηγή] Σχετικά με τη λύση για το πεδίο Linq να είναι null και να μην εμφανίζει δεδομένα

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 3/9/2015 11:44:57 μ.μ. | | | |

Αρχικά, ας δούμε τη βάση δεδομένων, τα πεδία Πόλη, Νομός, μερικά από τα οποία έχουν μηδενικές, δηλαδή μηδενικές τιμές.

Τα δεδομένα που ρωτήσαμε είναι όπως φαίνεται στο παραπάνω σχήμα, εφόσον υπάρχουν μηδενικά δεδομένα στην πόλη και την κομητεία, δεν εμφανίζεται ολόκληρη η γραμμή δεδομένων.


Λύση:


Κώδικας στην αρχή:


  1. rc.children = (from rp in db.RegionPlace
  2.                                    join a in db.PlaceInfo on rp.Province equals a.PlaceID
  3.                                    join b in db.PlaceInfo on rp.City equals b.PlaceID
  4.                                    join c in db.PlaceInfo on rp.County equals c.PlaceID
  5.                                    where rp.RegionID == r.RegionID
  6.                                    select new RegionClass { RegionName = "", Province = a.PlaceName, City = b.PlaceName, County = c.PlaceName }).ToList();
Αντιγραφή κώδικα


Τροποποιημένος κώδικας:

  1. rc.children = (from rp in db.RegionPlace
  2.                                    join a in db.PlaceInfo on rp.Province equals a.PlaceID
  3.                                    join b in db.PlaceInfo on rp.City equals b.PlaceID
  4.                                    into btemp
  5.                                    from bt in btemp.DefaultIfEmpty()
  6.                                    join c in db.PlaceInfo on rp.County equals c.PlaceID
  7.                                    into ctemp
  8.                                    from ct in ctemp.DefaultIfEmpty()
  9.                                    where rp.RegionID == r.RegionID
  10.                                    select new RegionClass { RegionName = "", Province = a.PlaceName, City = bt.PlaceName == null ? "" : bt.PlaceName, County = ct.PlaceName == null ? "" : ct.PlaceName }).ToList();
Αντιγραφή κώδικα


Τα δεδομένα εμφανίζονται κανονικά μετά την τροποποίηση! Όπως φαίνεται στο παρακάτω σχήμα.







Προηγούμενος:Η αναλογία 1:1 μιμείται πλήρως η μεταφορά πηγαίου κώδικα του έργου WeChat APP
Επόμενος:c# αναλύστε συμβολοσειρές json σε συλλογές λίστας
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com