save method
Persists the model using the active resolver and returns the stored copy.
Implementation
Future<TModel> save({bool returning = true}) async {
final def = expectDefinition();
final resolver = _resolveResolverFor(def);
final repository = _repositoryFor(def, resolver);
final pkValue = _primaryKeyValue(def);
List<TModel> persisted;
if (def.primaryKeyField == null || pkValue == null) {
persisted = await repository.insertMany(<TModel>[_self()]);
} else {
persisted = await repository.upsertMany(<TModel>[_self()]);
}
final result = persisted.isNotEmpty ? persisted.first : _self();
_syncFrom(result, def, resolver);
return result;
}