protected internal override void BindParameters(ISessionImplementor session, DbCommand ps, object entity) { var entityPersister = (IEntityPersister)persister; var uniqueKeyPropertyNames = uniqueKeySuppliedPropertyNames ?? PostInsertIdentityPersisterExtension.DetermineNameOfPropertiesToUse(entityPersister); for (var i = 0; i < uniqueKeyPropertyNames.Length; i++) { var uniqueKeyValue = entityPersister.GetPropertyValue(entity, uniqueKeyPropertyNames[i]); uniqueKeyTypes[i].NullSafeSet(ps, uniqueKeyValue, i, session); } }
protected internal override async Task BindParametersAsync(ISessionImplementor session, DbCommand ps, object entity, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var entityPersister = (IEntityPersister)persister; var uniqueKeyPropertyNames = uniqueKeySuppliedPropertyNames ?? PostInsertIdentityPersisterExtension.DetermineNameOfPropertiesToUse(entityPersister); for (var i = 0; i < uniqueKeyPropertyNames.Length; i++) { var uniqueKeyValue = entityPersister.GetPropertyValue(entity, uniqueKeyPropertyNames[i]); await(uniqueKeyTypes[i].NullSafeSetAsync(ps, uniqueKeyValue, i, session, cancellationToken)).ConfigureAwait(false); } }