Anwenden von LINQ-Filtern basierend auf einem mehrdimensionalen Array

Gegeben eine Entity Framework-Abfrage, wie z. B.

var query = (from property in _dbContext.Properties
        join location in _db.Locations
            on property.Id equals location.PropertyId
select new PropertyDetail
{
    Url = property.Url,
    Type = property.Type,
    Title = property.Title,
    Continent = location.Continent,
    Country = location.Country,
    State = location.State,
});

Ich habe Filter angewendet wie:

if (!string.IsNullOrWhitespace(searchFilters.Type))
{
    query = query.Where(model => model.Type == searchFilters.Type);
}
if (!string.IsNullOrWhitespace(searchFilters.Title))
{
    query = query.Where(model => model.Title.Contains(searchFilters.Title));
}

Geben Sie das folgende mehrdimensionale Array

var locations = new[]
{
    new[] {"Africa", "Algeria", ""},
    new[] {"Asia", "Hong Kong", ""},
    new[] {"Asia", "Singapore", ""},
    new[] {"Oceania", "Australia", "New South Wales"},
    new[] {"North America", "United States", "California"}
};

Wie kann die "Abfrage" weiter eingeschränkt werden, um nur die Einträge einzuschließen, die den angegebenen Orten entsprechen {Kontinent, Land, Bundesstaat (optional)}?