Как я могу показать все записи с Linq To SQL? - PullRequest
2 голосов
/ 26 июня 2011

У меня есть 2 таблицы для объединения в следующем запросе:

var query = (from c in Amenites_TBLs
                 join p in AmenitesContact_TBLs on c.AmenitesCodeID
                 equals p.AmenitesCodeID
                 // group c by p.AmenitesCodeID
                 into g
                 from cc in g.DefaultIfEmpty()
                 select new
                 {
                     AmenitiesCode = Amenites_TBLs.SingleOrDefault(a => a.AmenitesCodeID == cc.AmenitesCodeID).AmenitesCode,
                     CountryCode = Amenites_TBLs.SingleOrDefault(a => a.AmenitesCodeID == cc.AmenitesCodeID).CountryCode,
                     Director = AmenitesContact_TBLs.Where(a => a.TypeOfContact.StartsWith("Dir")).FirstOrDefault(a => a.AmenitesCodeID == cc.AmenitesCodeID).ContactName});

В таблице AmenitesContact_TBLs всего 3 записи. В таблице Amenites_TBLs имеется 300 записей, но результат запроса дает только 3 записи, а остальные 297 строк являются нулевыми, но поля AmenitiesCode и CountryCode не являются нулевыми в базе данных (они получают значение).

Как я могу изменить свой запрос, чтобы показать все 300 записей?

1 Ответ

0 голосов
/ 30 июня 2011

Попробуйте это:

Amenites_TBLs.Join(AmenitesContact_TBLs , c => c.AmenitesCodeID , p => p.AmenitesCodeID,(p,o) =>
new{ AmenitiesCode = c.AmenitesCode,CountryCode = c.CountryCode,Director = p.Where(a => a.TypeOfContact.StartsWith("Dir")).ContactName });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...