public static object NextSkippingSentinel([NotNull] this ValueGenerator valueGenerator, [NotNull] IProperty property) { var value = valueGenerator.Next(); if (property.IsSentinelValue(value)) { value = valueGenerator.Next(); } return(value); }
private bool IsTemporaryOrSentinel(IProperty property) => HasTemporaryValue(property) || property.IsSentinelValue(this[property]);
public virtual bool StoreMustGenerateValue([NotNull] IProperty property) => property.IsValueGeneratedOnAdd && HasTemporaryValue(property) || (property.UseStoreDefault && property.IsSentinelValue(this[property])) || (property.IsStoreComputed && (EntityState == EntityState.Modified || EntityState == EntityState.Added) && !IsPropertyModified(property));