//--------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Objects.DataClasses; using System.Diagnostics; namespace System.Data.Objects.Internal { /// /// Implementor of IEntityKeyStrategy for entities that implement IEntityWithKey. Getting and setting /// the key is deferred to the entity itself. /// internal sealed class EntityWithKeyStrategy : IEntityKeyStrategy { private IEntityWithKey _entity; /// /// Creates a strategy object for the given entity. Keys will be stored in the entity. /// /// The entity to use public EntityWithKeyStrategy(IEntityWithKey entity) { _entity = entity; } // See IEntityKeyStrategy public EntityKey GetEntityKey() { return _entity.EntityKey; } // See IEntityKeyStrategy public void SetEntityKey(EntityKey key) { _entity.EntityKey = key; } // See IEntityKeyStrategy public EntityKey GetEntityKeyFromEntity() { return _entity.EntityKey; } } }