3

以下のLINQステートメントで何が間違っているのかを理解しようとしています。3番目は好きではありませんSELECTtblAddresse.tblAdminCountyクエリを入力しているときに Intelisense で検出されますが、その後に SELECT を入力すると異常になります 。

それはどのようtblAddresstblAdminCounty関連しているのですか?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
                                   }

                      }
            };
4

1 に答える 1

2

単一の住所に複数の郡があるかのようにクエリしようとしています。単品とtblAdminCountyいうよりは、そう呼ばれているのではないでしょうか?tblAdminCounties

これを変更してみてください:

County = from adminCounty in tblAddresse.tblAdminCounty
         select new
         {
             adminCounty.CountyName
         }

ただ:

County = tblAddresse.tblAdminCounty
于 2010-01-29T21:25:05.907 に答える