以下のLINQステートメントで何が間違っているのかを理解しようとしています。3番目は好きではありませんSELECT
。tblAddresse.tblAdminCounty
クエリを入力しているときに Intelisense で検出されますが、その後に SELECT を入力すると異常になります 。
それはどのようtblAddress
にtblAdminCounty
関連しているのですか?Intellisense で表示されるという事実は、tblAddress
その声明を自明にするだろうと思っていましたが、明らかにそうではありません。
別の関数で CountyName だけをクエリするとしたら、次のようになります -->
var countyName = from adminCounty in context.tblAdminCounties
where adminCounty.CountyID == countyID
select adminCounty.CountyName;
そして、これはこのサイトに基づくより大きな 3 層のアプローチです -->こちら
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
}
}
};