/// <summary>
        ///    Sets the LINQ expression filter automatically applied to queries for this entity type.
        /// </summary>
        /// <param name="entityType"> The entity type to set the query filter for. </param>
        /// <param name="queryFilter"> The LINQ expression filter. </param>
        public static void SetQueryFilter(
            [NotNull] this IMutableEntityType entityType,
            [CanBeNull] LambdaExpression queryFilter)
        {
            Check.NotNull(entityType, nameof(entityType));

            var errorMessage = entityType.CheckQueryFilter(queryFilter);

            if (errorMessage != null)
            {
                throw new InvalidOperationException(errorMessage);
            }

            entityType[CoreAnnotationNames.QueryFilter] = queryFilter;
        }