selectByID method

  1. @override
FutureOr<O?> selectByID(
  1. dynamic id, {
  2. Transaction? transaction,
  3. EntityResolutionRules? resolutionRules,
})
override

Implementation

@override
FutureOr<O?> selectByID(dynamic id,
    {Transaction? transaction, EntityResolutionRules? resolutionRules}) {
  if (id == null) return null;

  checkNotClosed();

  var cachedEntity = transaction?.getCachedEntityByID(id, type: type);
  if (cachedEntity != null) {
    return cachedEntity;
  }

  return select(ConditionID(id),
          transaction: transaction, resolutionRules: resolutionRules)
      .resolveMapped((sel) {
    return sel.isNotEmpty ? sel.first : null;
  }).resolveMapped(trackEntityNullable);
}