public override ValueGenerator Select(IProperty property, IEntityType entityType) { Check.NotNull(property, nameof(property)); Check.NotNull(entityType, nameof(entityType)); return(property.SqlServer().ValueGenerationStrategy == SqlServerValueGenerationStrategy.SequenceHiLo ? _sequenceFactory.Create(property, Cache.GetOrAddSequenceState(property), _connection) : Cache.GetOrAdd(property, entityType, Create)); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public override ValueGenerator Select(IProperty property, IEntityType entityType) => property.GetValueGeneratorFactory() == null && property.GetValueGenerationStrategy() == SqlServerValueGenerationStrategy.SequenceHiLo ? _sequenceFactory.Create( property, Cache.GetOrAddSequenceState(property, _connection), _connection, _rawSqlCommandBuilder, _commandLogger) : base.Select(property, entityType);
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public override ValueGenerator Select(IProperty property, IEntityType entityType) { Check.NotNull(property, nameof(property)); Check.NotNull(entityType, nameof(entityType)); return(property.GetValueGeneratorFactory() == null && property.SqlServer().ValueGenerationStrategy == SqlServerValueGenerationStrategy.SequenceHiLo ? _sequenceFactory.Create( property, Cache.GetOrAddSequenceState(property, _connection), _connection, _rawSqlCommandBuilder) : base.Select(property, entityType)); }