---
title: "init(_:entityProvider:comparators:)"
framework: appintents
role: symbol
role_heading: Initializer
path: "appintents/entityqueryproperty/init(_:entityprovider:comparators:)"
---

# init(_:entityProvider:comparators:)

Initializes a EntityQueryProperty that applies to entity property at the provided keyPath.

## Declaration

```swift
init(_ keyPath: KeyPath<Subject, Property>, entityProvider: @escaping (Entity) -> Subject, @EntityQueryComparatorsBuilder<Entity, Subject, Property, PropertyType, ComparatorMappingType> comparators: () -> EntityQueryProperty<Entity, Subject, Property, PropertyType, ComparatorMappingType>.QueryComparators)
```

## Parameters

- `keyPath`: The keypath to the property that this EntityQueryProperty applies to. The target property type determines which comparator modifiers will be available.
- `entityProvider`: Closure which, given a Entity instance, returns the appropriate Subject instance to apply EntityQueryComparators to.
- `comparators`: The set of EntityQueryComparators that this property supports being queried by.

## See Also

### Creating queryable properties

- [init(_:comparators:)](appintents/entityqueryproperty/init(_:comparators:).md)
- [EntityQueryProperty.QueryComparators](appintents/entityqueryproperty/querycomparators.md)
- [EntityQueryComparatorsBuilder](appintents/entityquerycomparatorsbuilder.md)
