I need to check if all definitions contains some specific data. It works fine except the case when GroupBy returns empty collection.
var exist = dbContext.De
You could make use of DefaultIfEmpty
extension method, and adjust your some condition
so that it evaluates null
to false
.
var exist = definitions
.Where(x => propertyTypeIds.Contains(x.PropertyTypeId) && x.CountryId == countryId)
.GroupBy(x => x.PropertyTypeId)
.DefaultIfEmpty()
.All(...some condition...));
Well, you can do it in two steps :
var definitions = definitions.Where(
x => propertyTypeIds.Contains(x.PropertyTypeId) && x.CountryId == countryId)
.GroupBy(x => x.PropertyTypeId);
var exist = definitions.Any() && definitions.All(...some condition...);