我有以下一段代码,它根据每个国家/地区给出了我的时区
var zones = TzdbDateTimeZoneSource.Default
.ZoneLocations
.Where(x => x.CountryCode == countryCode)
.Select(x => x.ZoneId);
现在我需要在上面的 linq 查询中包含 datatable,以检查该数据表是否已经在数据库中具有区域位置,如下面的代码中所述。我该怎么做?
var zones = TzdbDateTimeZoneSource.Default
.ZoneLocations
.Where(x => x.CountryCode == countryCode &&
oratznamesoratznames.Select().ToList()
.Exists(row => row["TZNAME"].ToString().ToUpper() == x.ZoneId))
.Select(x => x.ZoneId);
id 我理解你的问题是正确的,你可以使用 .Any()
.它返回一个布尔值,指示集合的任何元素与谓词匹配的位置。
另外,请注意,在这种情况下无需使用&&
。
var zones = TzdbDateTimeZoneSource.Default
.ZoneLocations
.Where(x => x.CountryCode == countryCode)
.Select(x => x.ZoneId)
.Where(x => oratznamesoratznames
.Any(r => r["TZNAME"].ToString().ToUpper() == x))