e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
//---------------------------------------------------------------------
|
|
// <copyright file="EntityWithKeyStrategy.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//---------------------------------------------------------------------
|
|
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
|
|
{
|
|
/// <summary>
|
|
/// Implementor of IEntityKeyStrategy for entities that implement IEntityWithKey. Getting and setting
|
|
/// the key is deferred to the entity itself.
|
|
/// </summary>
|
|
internal sealed class EntityWithKeyStrategy : IEntityKeyStrategy
|
|
{
|
|
private IEntityWithKey _entity;
|
|
|
|
/// <summary>
|
|
/// Creates a strategy object for the given entity. Keys will be stored in the entity.
|
|
/// </summary>
|
|
/// <param name="entity">The entity to use</param>
|
|
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;
|
|
}
|
|
}
|
|
}
|