56 lines
2.8 KiB
C#
56 lines
2.8 KiB
C#
|
//---------------------------------------------------------------------
|
||
|
// <copyright file="IEntityChangeTracker.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//
|
||
|
// @owner sparra
|
||
|
// @backupOwner barryfr
|
||
|
//---------------------------------------------------------------------
|
||
|
using System.Data.Objects;
|
||
|
using System.Reflection;
|
||
|
|
||
|
namespace System.Data.Objects.DataClasses
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// This interface is implemented by a change tracker and is used by data classes to report changes
|
||
|
/// </summary>
|
||
|
public interface IEntityChangeTracker
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Used to report that a scalar entity property is about to change
|
||
|
/// </summary>
|
||
|
/// <param name="entityMemberName">The name of the entity property that is changing</param>
|
||
|
void EntityMemberChanging(string entityMemberName);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Used to report that a scalar entity property has been changed
|
||
|
/// </summary>
|
||
|
/// <param name="entityMemberName">The name of the entity property that has changed</param>
|
||
|
void EntityMemberChanged(string entityMemberName);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Used to report that a complex property is about to change
|
||
|
/// </summary>
|
||
|
/// <param name="entityMemberName">The name of the top-level entity property that is changing</param>
|
||
|
/// <param name="complexObject">The complex object that contains the property that is changing</param>
|
||
|
/// <param name="complexObjectMemberName">The name of the property that is changing on complexObject</param>
|
||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "object")]
|
||
|
void EntityComplexMemberChanging(string entityMemberName, object complexObject, string complexObjectMemberName);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Used to report that a complex property has been changed
|
||
|
/// </summary>
|
||
|
/// <param name="entityMemberName">The name of the top-level entity property that has changed</param>
|
||
|
/// <param name="complexObject">The complex object that contains the property that changed</param>
|
||
|
/// <param name="complexObjectMemberName">The name of the property that changed on complexObject</param>
|
||
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "object")]
|
||
|
void EntityComplexMemberChanged(string entityMemberName, object complexObject, string complexObjectMemberName);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Returns the EntityState from the change tracker, or EntityState.Detached if this
|
||
|
/// entity is not being managed by a change tracker
|
||
|
/// </summary>
|
||
|
EntityState EntityState { get; }
|
||
|
}
|
||
|
}
|