私はこのLINQクエリを持っています
var Cities= (from city in AllCities
where (city.NumberOfCitizens > 1000)
select new
{
Mayor= (from mayor in AllMayors where mayor.CityKey == city.Key select mayor),
Name = city.Name,
Country = city.Country,
Key = city.Key
}).ToList();
市民が 1000 人を超える都市から、市長、名前、国、およびキーを選択します。
Mayor
は、2 つのプロパティを持つクラスでありString FirstName
、String LastName
ここで、キーが 20 を超える都市の市長のandCities
を抽出する (最初のクエリの結果である) に対して別のクエリを実行したいと考えています。FirstName
LastName
var Result= (from city in Cities
where (city.Key> 20)
select new
{
MayorFirstName = city.Mayor.FirstName,
MayorLastName = city.Mayor.LastName,
City = city.Name
}).ToList();
FirstName
問題は、city.Mayor におよびの定義が含まれていないというビルド エラーが発生することです。LastName
クエリ内で Mayor タイプにキャストしようとしました。
Mayor= (Mayor)(from mayor in AllMayors where mayor.CityKey == city.Key select mayor),
.......
アプリケーションは正常にビルドされて起動しますが、LINQ クエリ内の型にキャストできないというランタイム エラーが発生します。
どうすればこの問題を解決できますか? クエリ内でキャストする方法はありますか、それとも他の解決策がありますか。
助けてくれてありがとう