internal void SetCachedForeignKey(EntityKey newForeignKey, EntityEntry source) { if (this.ObjectContext != null && this.ObjectContext.ObjectStateManager != null && // are we attached? source != null && // do we have an entry? _cachedForeignKey != null && !ForeignKeyFactory.IsConceptualNullKey(_cachedForeignKey) && // do we have an fk? _cachedForeignKey != newForeignKey) // is the FK different from the one that we already have? { this.ObjectContext.ObjectStateManager.RemoveEntryFromForeignKeyIndex(_cachedForeignKey, source); } _cachedForeignKey = newForeignKey; }
internal override bool CachedForeignKeyIsConceptualNull() { return(ForeignKeyFactory.IsConceptualNullKey(this.CachedForeignKey)); }
internal void SetCachedForeignKey(EntityKey newForeignKey, EntityEntry source) { if (this.ObjectContext != null && this.ObjectContext.ObjectStateManager != null && (source != null && this._cachedForeignKey != (EntityKey)null) && (!ForeignKeyFactory.IsConceptualNullKey(this._cachedForeignKey) && this._cachedForeignKey != newForeignKey)) { this.ObjectContext.ObjectStateManager.RemoveEntryFromForeignKeyIndex(this, this._cachedForeignKey, source); } this._cachedForeignKey = newForeignKey; }