Выбор родителей детей, которые соответствуют определенным критериям

Вы можете сделать это на стороне javascript.

<input type="submit" value="Send It!" onClick="return ActionDeterminator();">

При щелчке, функция JavaScript ActionDeterminator () определяет URL альтернативного действия. Пример кода.

function ActionDeterminator() {
  if(document.myform.reason[0].checked == true) {
    document.myform.action = 'http://google.com';
  }
  if(document.myform.reason[1].checked == true) {
    document.myform.action = 'http://microsoft.com';
    document.myform.method = 'get';
  }
  if(document.myform.reason[2].checked == true) {
    document.myform.action = 'http://yahoo.com';
  }
  return true;
}
1
задан jjespersen 16 January 2019 в 11:52
поделиться

3 ответа

Если я правильно понял, вы уже отфильтровали страны Азии, и вы хотите отфильтровать эти результаты дальше. Я бы сделал это одним из двух способов, если у вас есть население как int

var cities = asianCountries.Select(x => x.cities.Where( y => y.population > 500000)).ToList();

, если это строка, то

var cities = asianCountries.Select(x => x.cities.Where(y => Convert.ToInt32(y.population) > 500000)).ToList();

Это должно работать, я думаю.

0
ответ дан markorial 16 January 2019 в 11:52
поделиться

Пример для объединения нескольких таблиц,

from ct in dbContext.Countries
          join ci in dbContext.Cities on ct.CityID equals ci.ID
          where (ct.continent == "asia") && (ci.Population == // yourCondition) 
          select new { country = ct.Name, city = ci.Name , // other fields you want to select
                     };

Вы можете взять справку о том, как объединить несколько таблиц здесь

0
ответ дан zey 16 January 2019 в 11:52
поделиться

Если объект реализует IQueryable<T>, запрос выполняется только при перечислении объекта. Это означает, что вы можете объединять запросы в цепочку, и выполнение будет отложено до тех пор, пока вы не вызовете, например ToList().

В вашем примере вы могли бы сделать что-то вроде:

// to select the cities
var largeCities = dbContext.Countries
                           .Include(t => t.Cities)
                           .Where(c=> c.continent == "asia" 
                                  && c.Cities.Population > 500000)
                           .Select(c => c.Cities).ToList();

// EDIT
// to select the countries that have these cities
var countries = dbContext.Countries
                           .Include(t => t.Cities)
                           .Where(c=> c.continent == "asia" 
                                  && c.Cities.Population > 500000)
                           .ToList();  // remove .Select(c => C.Cities) if you want the countries

Или

var largeCities = asianCountries
                       .Where(c => c.Cities.Population > 500000)
                       .Select(c => c.Cities)
                       .ToList();
0
ответ дан haldo 16 January 2019 в 11:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: