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);
  }
}