1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
//---------------------------------------------------------------------
// <copyright file="IObjectSet.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//
// @owner jeffders
// @backupOwner avickers
//---------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace System.Data.Objects
{
/// <summary>
/// Defines behavior for implementations of IQueryable that allow modifications to the membership of the resulting set.
/// </summary>
/// <typeparam name="TEntity">Type of entities returned from the queryable.</typeparam>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")]
public interface IObjectSet<TEntity> : IQueryable<TEntity>
where TEntity : class
{
/// <summary>
/// Notify the set that an object representing a new entity should be added to the set.
/// Depending on the implementation, the change to the set may not be visible in an enumeration of the set
/// until changes to that set have been persisted in some manner.
/// </summary>
/// <param name="entity">Entity object to be added.</param>
void AddObject(TEntity entity);
/// <summary>
/// Notify the set that an object representing a new entity should be added to the set.
/// Depending on the implementation, the change to the set may not be visible in an enumeration of the set
/// until changes to that set have been persisted in some manner.
/// </summary>
/// <param name="entity">Entity object to be attached.</param>
void Attach(TEntity entity);
/// <summary>
/// Notify the set that an object representing an entity should be removed from the set.
/// Depending on the implementation, the change to the set may not be visible in an enumeration of the set
/// until changes to that set have been persisted in some manner.
/// </summary>
/// <param name="entity">Entity object to be removed.</param>
/// <exception cref="InvalidOperationException">Throws if the specified object is not in the set.</exception>
void DeleteObject(TEntity entity);
/// <summary>
/// Notify the set that an object representing an entity should be removed from the set.
/// Depending on the implementation, the change to the set may not be visible in an enumeration of the set
/// until changes to that set have been persisted in some manner.
/// </summary>
/// <param name="entity">Entity object to be detached.</param>
void Detach(TEntity entity);
}
}
|