ManagedContext class Null safety
A service object that handles connecting to and sending queries to a database.
You create objects of this type to use the Conduit ORM. Create instances in ApplicationChannel.prepare and inject them into controllers that execute database queries.
A context contains two types of objects:
- PersistentStore : Maintains a connection to a specific database. Transfers data between your application and the database.
- ManagedDataModel : Contains information about the ManagedObject subclasses in your application.
Example usage:
class Channel extends ApplicationChannel {
ManagedContext context;
@override
Future prepare() async {
var store = new PostgreSQLPersistentStore(...);
var dataModel = new ManagedDataModel.fromCurrentMirrorSystem();
context = new ManagedContext(dataModel, store);
}
@override
Controller get entryPoint {
final router = new Router();
router.route("/path").link(() => new DBController(context));
return router;
}
}
Constructors
- ManagedContext(ManagedDataModel? dataModel, PersistentStore persistentStore)
- Creates an instance of ManagedContext from a ManagedDataModel and PersistentStore.
- ManagedContext.childOf(ManagedContext parentContext)
-
Creates a child context from
parentContext
.
Properties
- dataModel → ManagedDataModel?
-
The data model containing the ManagedEntitys that describe the ManagedObjects this instance works with.
final
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- persistentStore ↔ PersistentStore
-
The persistent store that Querys on this context are executed through.
read / write
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
Methods
-
close(
) → Future - Closes this context and release its underlying resources.
-
documentComponents(
APIDocumentContext context) → void -
Tells this object to add its components to
context
. -
entityForType(
Type type) → ManagedEntity - Returns an entity for a type from dataModel.
-
fetchObjectWithID<
T extends ManagedObject> (dynamic identifier) → Future< T?> -
Returns an object of type
T
from this context if it exists, otherwise returns null. -
insertObject<
T extends ManagedObject> (T object) → Future< T> -
Inserts a single
object
into this context. -
insertObjects<
T extends ManagedObject> (List< T> objects) → Future<List< T> > -
Inserts each object in
objects
into this context. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
transaction<
T> (Future< T?> transactionBlock(ManagedContext transaction)) → Future<T?> -
Runs all Querys in
transactionBlock
within a database transaction.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited