Я пытаюсь выяснить, что я делаю неправильно в приведенной ниже инструкции LINQ. Это не нравится третий SELECT
. Он находит tblAddresse.tblAdminCounty
в Intelisense, когда я печатаю запрос, но когда я набираю SELECT после того, как он уродует.LINQ Один для многих, 3 уровня Глубокий вопрос
Это связано с тем, как связаны tblAddress
и tblAdminCounty
? Я бы подумал, что тот факт, который он показывает в Intellisense под номером tblAddress
, сделает это утверждение само собой разумеющимся, но, очевидно, нет.
Если бы я был запросить только CountyName в отдельной функции она будет выглядеть следующим образом ->
var countyName = from adminCounty in context.tblAdminCounties
where adminCounty.CountyID == countyID
select adminCounty.CountyName;
И это больше 3-уровневый подход, основанный на этом сайте ->HERE
var query = from tblBusinesse in context.tblBusinesses
where tblBusinesse.BusinessID == businessID
select new
{
tblBusinesse.BusinessName,
tblBusinesse.ContactName,
tblBusinesse.EmailAddress,
Address = from tblAddresse in tblBusinesse.tblAddresses
select new
{
tblAddresse.AddressLine1,
tblAddresse.AddressLine2,
tblAddresse.AddressLine3,
tblAddresse.CityName,
County = from adminCounty in tblAddresse.tblAdminCounty
select new
{
adminCounty.CountyName
}
}
};
@ Джон тарелочкам: Спасибо, я никогда не кажется, чтобы получить код для правильного форматирования. Я думаю, что один должен объяснить многое ... –
Я подозреваю, что вы также найдете жизнь проще, если у вас не было «tbl» перед всем :) –
@Jon Skeet: :) Действительно! К счастью, в этом случае, это только в примере кода, который я опубликовал, а не в моей фактической базе кода для моего проекта. –