// <summary> // Initializes a new instance of the <see cref="InternalEntityEntry" /> class for an // entity which may or may not be attached to the context. // </summary> // <param name="internalContext"> The internal context. </param> // <param name="entity"> The entity. </param> public InternalEntityEntry(InternalContext internalContext, object entity) { DebugCheck.NotNull(internalContext); DebugCheck.NotNull(entity); _internalContext = internalContext; _entity = entity; _entityType = ObjectContextTypeCache.GetObjectType(_entity.GetType()); _stateEntry = _internalContext.GetStateEntry(entity); if (_stateEntry == null) { // This will cause the context and model to be initialized and will throw an exception // if the entity type is not part of the model. _internalContext.Set(_entityType).InternalSet.Initialize(); } }