ensureStored method

  1. @override
FutureOr ensureStored(
  1. O o, {
  2. Transaction? transaction,
  3. TransactionOperation? operation,
})
override

Implementation

@override
FutureOr<dynamic> ensureStored(
  O o, {
  Transaction? transaction,
  TransactionOperation? operation,
}) {
  checkNotClosed();

  transaction ??= Transaction.executingOrNew(autoCommit: true);

  var id = getID(o, entityHandler: entityHandler);

  if (id == null || entityHasChangedFields(o)) {
    return _ensureStoredImpl(o, transaction, operation);
  } else {
    return ensureReferencesStored(
      o,
      transaction: transaction,
    ).resolveWithValue(id);
  }
}