public async Task RetrieveIdsLong <TEntity>(IContextAdapter context, TEntity[] entities) { var tableName = context.GetTableName <TEntity>(); var entitiesLength = entities.Length; var minId = Minus(await context.RunScalar <TValue>(RetrieveIdsSql(tableName, entitiesLength)), entitiesLength); var pkSetter = ExpressHelper.GetPropSetter <TEntity, TValue>(context.GetPk <TEntity>().PropertyName).Compile(); var id = minId; foreach (var entity in entities) { id = AddOne(id); pkSetter(entity, id); } }