protected RelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship?relationship, OGM inItem, OGM outItem) { Relationship = relationship; InItem = inItem; OutItem = outItem; PersistenceProvider = persistenceProvider; }
protected virtual void LazyLoad() { if (IsLoaded) { return; } if (Parent.PersistenceState == PersistenceState.New || Parent.PersistenceState == PersistenceState.NewAndChanged) { InitialLoad(empty); return; } Transaction trans = Transaction.RunningTransaction; if (trans.Mode == OptimizeFor.RecursiveSubGraphAccess) { trans.LoadAll(this); return; } IEnumerable <CollectionItem> items = RelationshipPersistenceProvider.Load(Parent, this); InitialLoad(items); }
internal TimeDependentRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?moment) : base(persistenceProvider, relationship, inItem, outItem) { // WATCH OUT!!!! // you cannot set a NULL datetime to DateTime.MinValue, the default is to have actions happen at the TransactionDate!!! Moment = (moment.HasValue) ? moment.Value : Transaction.RunningTransaction.TransactionDate; }
internal TimeDependentRemoveRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?moment) : base(persistenceProvider, relationship, inItem, outItem, moment) { }
internal AddRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem) : base(persistenceProvider, relationship, inItem, outItem) { }
internal TimeDependentClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM?inItem, OGM?outItem, DateTime?moment) : base(persistenceProvider, relationship, inItem !, outItem !, moment)
internal ClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, OGM item) : base(persistenceProvider, null, item, item) { }
internal TimeDependentRemoveUnmanagedRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?startDate) : base(persistenceProvider, relationship, inItem, outItem, startDate) { }
internal ClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, Relationship?relationship, OGM?inItem, OGM?outItem) : base(persistenceProvider, relationship, inItem !, outItem !)
internal TimeDependentAddUnmanagedRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM inItem, OGM outItem, DateTime?startDate, DateTime?endDate) : base(persistenceProvider, relationship, inItem, outItem, startDate) { EndDate = (endDate.HasValue) ? endDate.Value : DateTime.MaxValue; }
internal TimeDependentClearRelationshipsAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM item, DateTime?moment) : base(persistenceProvider, relationship, item, item, moment) { }
internal TimeDependentRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM?inItem, OGM?outItem, DateTime?moment) : base(persistenceProvider, relationship, inItem, outItem) { // WATCH OUT: null should be interpreted as "since forever", if TransactionDate was intended please pass that instead when constructing this object. Moment = (moment.HasValue) ? moment.Value : Conversion.MinDateTime; }
internal RemoveRelationshipAction(RelationshipPersistenceProvider persistenceProvider, Relationship relationship, OGM?inItem, OGM?outItem) : base(persistenceProvider, relationship, inItem, outItem) { }