考虑下面的代码:

public IEnumerable <Country> ListPopulation()
{
    foreach(var continent in Continents)
    {
        var ids = context.continentTable
                   .where(y=>y.Name == continent.name)
                   .select(x=>x.countryId);

    }

    return GetPopulation(ids);// ids is not available here
}

Public IEnumerable<Country>GetPopulation(IQueryable<int> idnumbers)
{

}


如何初始化var ids,以便可以使用它调用GetPopulation()

最佳答案

好吧,主要问题与使用“ var”无关。您已经有了一个foreach循环,其中声明了该变量,然后您尝试使用该变量从循环外部返回。您期望值是多少?

如果您要选择所有国家/地区,为什么不这样做:

public IEnumerable <Country> ListPopulation()
{
    return GetPopulation(context.continentTable.Select(x => x.countryId));
}


遍历每个大洲的意义何在?还是大陆表中有您未显示的“大陆”属性未引用的国家?

10-04 14:31