ensureStored method
FutureOr
ensureStored(
- O o, {
- Transaction? transaction,
- TransactionOperation? operation,
override
Implementation
@override
FutureOr<dynamic> ensureStored(o,
{Transaction? transaction, TransactionOperation? operation}) {
checkNotClosed();
var id = getID(o, entityHandler: entityHandler);
if (id == null || entityHasChangedFields(o)) {
return _ensureStoredImpl(o, transaction, operation);
} else {
if (isTrackingEntity(o)) {
return id;
}
return existsID(id, transaction: transaction).resolveMapped((exists) {
if (!exists) {
return _ensureStoredImpl(o, transaction, operation);
} else {
return id;
}
});
}
}