diff --git a/lib/dm-core/model.rb b/lib/dm-core/model.rb index e60f5504..f206873d 100644 --- a/lib/dm-core/model.rb +++ b/lib/dm-core/model.rb @@ -593,8 +593,7 @@ def load(records, query) model = discriminator && discriminator.load(record[discriminator]) || self model_key = model.key(repository_name) - key_values = model_key.zip(record.values_at(*model_key)).map { |k,v| k.load(v) } - resource = if model_key.valid?(key_values) + resource = if model_key.valid?(key_values = record.values_at(*model_key)) identity_map = repository.identity_map(model) identity_map[key_values] end