Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 23858|Отговор: 0

[Източник] Относно заобиколното решение полето Linq да е null и да не показва данни

[Копирай линк]
Публикувано в 3.09.2015 г. 23:44:57 ч. | | | |

Първо, нека разгледаме базата данни, полета City, County, някои от които имат null, тоест null стойности.

Данните, които поискахме, са както са показани на горната фигура – докато има null данни в града и окръга, цялата линия от данни не се показва.


Решение:


Код в началото:


  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 низове в List колекции
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com