我有这个 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
现在我想对Cities
(这是第一个查询的结果)进行另一个查询,该查询提取具有键 > 20 的城市中的市长的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();
问题是我得到一个构建错误 city.Mayor 不包含FirstName
和的定义LastName
我试图将其转换为查询中的 Mayor 类型:
Mayor= (Mayor)(from mayor in AllMayors where mayor.CityKey == city.Key select mayor),
.......
应用程序构建和启动正常,但我得到一个运行时错误,我无法转换为 LINQ 查询中的类型。
我怎么解决这个问题?有没有办法在查询中进行转换或者是否有其他解决方案。
非常感谢您的帮助