in src/Epam.GraphQL/Configuration/Implementations/Relations/Relation.cs [237:266]
private bool HasFakePropertyValue(TChildEntity child)
{
if (_childNavigationProperty != null && _navigationProperty == null && _childProperty.IsProperty())
{
if (_parentLoader is not IMutableLoader<TExecutionContext> mutableLoader)
{
if (_parentLoader is IIdentifiableLoader)
{
return false;
}
throw new InvalidOperationException($"Cannot check fakeness of property value. IsFakePropertyValue predicate wasn't provided for Relation: {this}");
}
var childPropertyValue = ChildPropertyGetter(child);
if (TypeExtensions.IsNullable(typeof(TChildProperty)) && childPropertyValue == null)
{
return false;
}
return mutableLoader.IsFakeId(childPropertyValue);
}
if (_navigationProperty != null && _childNavigationProperty != null && IsChildPropertyId)
{
throw new InvalidOperationException($"Cannot check fakeness of property value. Both navigationProperty and reverseNavigationProperty were provided for identity property {_childProperty} of type {typeof(TChildEntity)}. You must provide either navigationProperty or reverseNavigationProperty: {this}");
}
return false;
}