EntityCollection<TEntity> Klasa

Definicja

Reprezentuje kolekcję obiektów na końcu "wiele" relacji.Represents a collection of objects on the "many" end of a relationship.

generic <typename TEntity>
 where TEntity : classpublic ref class EntityCollection sealed : System::Data::Objects::DataClasses::RelatedEnd, System::Collections::Generic::ICollection<TEntity>, System::Collections::Generic::IEnumerable<TEntity>, System::ComponentModel::IListSource
[System.Serializable]
public sealed class EntityCollection<TEntity> : System.Data.Objects.DataClasses.RelatedEnd, System.Collections.Generic.ICollection<TEntity>, System.Collections.Generic.IEnumerable<TEntity>, System.ComponentModel.IListSource where TEntity : class
type EntityCollection<'Entity (requires 'Entity : null)> = class
    inherit RelatedEnd
    interface ICollection<'Entity (requires 'Entity : null)>
    interface seq<'Entity (requires 'Entity : null)>
    interface IEnumerable
    interface IListSource
Public NotInheritable Class EntityCollection(Of TEntity)
Inherits RelatedEnd
Implements ICollection(Of TEntity), IEnumerable(Of TEntity), IListSource

Parametry typu

TEntity

Typ jednostki kolekcji.The entity type of the collection.

Dziedziczenie
EntityCollection<TEntity>
Atrybuty
Implementuje

Przykłady

Ten przykład jest oparty na.This example is based on the . Aby uruchomić kod w tym przykładzie, musisz już dodać model sprzedaży AdventureWorks do projektu i skonfigurować projekt do korzystania z Entity Framework.To run the code in this example, you must have already added the AdventureWorks Sales Model to your project and configured your project to use the Entity Framework. Aby to zrobić, wykonaj procedury opisane w temacie How to: Ręcznie skonfiguruj projekt Entity Framework i instrukcje: Ręcznie zdefiniuj model i plikimapowania.To do this, complete the procedures in How to: Manually Configure an Entity Framework Project and How to: Manually Define the Model and Mapping Files.

Ten przykład wykonuje następujące czynności:This example does the following:

  1. Tworzy dwie nowe SalesOrderHeader jednostki i dodaje je Contact do jednostki.Creates two new SalesOrderHeader entities and adds them to the Contact entity.

  2. Pobiera wszystkie powiązane zakończenia z RelationshipManager elementu, który jest skojarzony Contact z jednostką.Gets all related ends from the RelationshipManager that is associated with the Contact entity.

  3. Wykonuje iterację kolekcji IRelatedEnds.Iterates through the collection of IRelatedEnds.

  4. EntityCollection<TEntity> Pobiera dla każdego powiązanego końca.Gets the EntityCollection<TEntity> for each related end.

  5. Remove Używa metody do usunięcia jednej z jednostek z kolekcji.Uses the Remove method to remove one of the entities from the collection.

  6. Wywołuje metodę Contains , aby określić, czy obiekt został usunięty z kolekcji.Calls the Contains method to determine whether the object was removed from the collection.

  7. Add Używa metody, aby dodać jednostkę z powrotem.Uses the Add method to add the entity back.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    Contact contact = new Contact();

    // Create a new SalesOrderHeader.
    SalesOrderHeader newSalesOrder1 = new SalesOrderHeader();
    // Add SalesOrderHeader to the Contact.
    contact.SalesOrderHeaders.Add(newSalesOrder1);

    // Create another SalesOrderHeader.
    SalesOrderHeader newSalesOrder2 = new SalesOrderHeader();
    // Add SalesOrderHeader to the Contact.
    contact.SalesOrderHeaders.Add(newSalesOrder2);

    // Get all related ends
    IEnumerable<IRelatedEnd> relEnds =
        ((IEntityWithRelationships)contact)
        .RelationshipManager.GetAllRelatedEnds();

    foreach (IRelatedEnd relEnd in relEnds)
    {
        // Get Entity Collection from related end
        EntityCollection<SalesOrderHeader> entityCollection =
            (EntityCollection<SalesOrderHeader>)relEnd;

        Console.WriteLine("EntityCollection count: {0}",
            entityCollection.Count);
        // Remove the first entity object.
        entityCollection.Remove(newSalesOrder1);

        bool contains = entityCollection.Contains(newSalesOrder1);

        // Write the number of items after one entity has been removed
        Console.WriteLine("EntityCollection count after one entity has been removed: {0}",
            entityCollection.Count);

        if (contains == false)
            Console.WriteLine("The removed entity is not in in the collection any more.");

        //Use IRelatedEnd to add the entity back.
        relEnd.Add(newSalesOrder1);
        Console.WriteLine("EntityCollection count after an entity has been added again: {0}",
            entityCollection.Count);
    }
}
Using context As New AdventureWorksEntities()
    Dim contact As New Contact()

    ' Create a new SalesOrderHeader. 
    Dim newSalesOrder1 As New SalesOrderHeader()
    ' Add SalesOrderHeader to the Contact. 
    contact.SalesOrderHeaders.Add(newSalesOrder1)

    ' Create another SalesOrderHeader. 
    Dim newSalesOrder2 As New SalesOrderHeader()
    ' Add SalesOrderHeader to the Contact. 
    contact.SalesOrderHeaders.Add(newSalesOrder2)

    ' Get all related ends 
    Dim relEnds As IEnumerable(Of IRelatedEnd) = DirectCast(contact, IEntityWithRelationships).RelationshipManager.GetAllRelatedEnds()

    For Each relEnd As IRelatedEnd In relEnds
        ' Get Entity Collection from related end 
        Dim entityCollection As EntityCollection(Of SalesOrderHeader) = DirectCast(relEnd, EntityCollection(Of SalesOrderHeader))

        Console.WriteLine("EntityCollection count: {0}", entityCollection.Count)
        ' Remove the first entity object. 
        entityCollection.Remove(newSalesOrder1)

        Dim contains As Boolean = entityCollection.Contains(newSalesOrder1)

        ' Write the number of items after one entity has been removed 
        Console.WriteLine("EntityCollection count after one entity has been removed: {0}", entityCollection.Count)

        If contains = False Then
            Console.WriteLine("The removed entity is not in in the collection any more.")
        End If

        'Use IRelatedEnd to add the entity back. 
        relEnd.Add(newSalesOrder1)
        Console.WriteLine("EntityCollection count after an entity has been added again: {0}", entityCollection.Count)
    Next
End Using

Uwagi

EntityCollection<TEntity> Jest kolekcją obiektów określonego typu jednostki, która reprezentuje koniec "wiele" relacji jeden-do-wielu lub wiele-do-wielu.An EntityCollection<TEntity> is a collection of objects of a particular entity type that represents the "many" end of a one-to-many or many-to-many relationship.

EntityCollection<TEntity> Jest zwracany przez właściwość nawigacji.An EntityCollection<TEntity> is returned by a navigation property. Użyj metody do załadowania powiązanych obiektów EntityCollection<TEntity>do. LoadUse the Load method to load related objects into an EntityCollection<TEntity>. Do przechowywania niepowiązanej kolekcji obiektów określonego typu jednostki, takich jak wynik ObjectQuery<T>, użyj wystąpienia List<T> klasy.To store an unrelated collection of objects of a specific entity type, such as the result of an ObjectQuery<T>, use an instance of the List<T> class.

Może mieć odpowiednie EntityReference<TEntity>. EntityCollection<TEntity>An EntityCollection<TEntity> might have a corresponding EntityReference<TEntity>. EntityCollection<TEntity> Gdy modelEntityReference<TEntity> i odwrotne zakończenie tej samej relacji, integralność relacji jest zachowywana na poziomie obiektu.When an EntityCollection<TEntity> and an EntityReference<TEntity> model opposite ends of the same relationship, the integrity of the relationship is maintained at the object level. Dwie klasy są synchronizowane automatycznie.The two classes are synchronized automatically.

Klasa ta nie może być dziedziczona.This class cannot be inherited.

Konstruktory

EntityCollection<TEntity>()

Inicjuje nowe wystąpienie klasy EntityCollection<TEntity> klasy.Initializes a new instance of the EntityCollection<TEntity> class.

Właściwości

Count

Pobiera liczbę obiektów zawartych w kolekcji.Gets the number of objects that are contained in the collection.

IsLoaded

Pobiera wartość wskazującą, czy wszystkie powiązane obiekty zostały załadowane.Gets a value that indicates whether all related objects have been loaded.

(Odziedziczone po RelatedEnd)
IsReadOnly

Pobiera wartość wskazującą, czy jest tylko EntityCollection<TEntity> do odczytu.Gets a value that indicates whether the EntityCollection<TEntity> is read-only.

RelationshipName

Pobiera nazwę relacji, w której uczestniczą pokrewne zakończenie.Gets the name of the relationship in which this related end participates.

(Odziedziczone po RelatedEnd)
RelationshipSet

Pobiera odwołanie do metadanych powiązanego końca.Gets a reference to the metadata for the related end.

(Odziedziczone po RelatedEnd)
SourceRoleName

Pobiera nazwę roli na końcu źródła relacji.Gets the role name at the source end of the relationship.

(Odziedziczone po RelatedEnd)
TargetRoleName

Pobiera nazwę roli na końcu elementu docelowego relacji.Gets the role name at the target end of the relationship.

(Odziedziczone po RelatedEnd)

Metody

Add(TEntity)

Dodaje obiekt do kolekcji.Adds an object to the collection.

Attach(IEnumerable<TEntity>)

Definiuje relacje między obiektem a kolekcją obiektów pokrewnych w kontekście obiektu.Defines relationships between an object and a collection of related objects in an object context.

Attach(TEntity)

Definiuje relację między dwoma dołączonymi obiektami w kontekście obiektu.Defines a relationship between two attached objects in an object context.

Attach<TEntity>(IEnumerable<TEntity>, Boolean)

Definiuje relację między dwoma dołączonymi obiektami.Defines a relationship between two attached objects.

(Odziedziczone po RelatedEnd)
Clear()

Usuwa wszystkie jednostki z kolekcji.Removes all entities from the collection.

Contains(TEntity)

Określa, czy określony obiekt istnieje w kolekcji.Determines whether a specific object exists in the collection.

CopyTo(TEntity[], Int32)

Kopiuje całą zawartość kolekcji do tablicy, rozpoczynając od określonego indeksu tablicy docelowej.Copies all the contents of the collection to an array, starting at the specified index of the target array.

CreateSourceQuery()

Zwraca zapytanie obiektu, które po wykonaniu zwraca ten sam zestaw obiektów, który istnieje w bieżącej kolekcji.Returns an object query that, when it is executed, returns the same set of objects that exists in the current collection.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który jest używany do iteracji obiektów w kolekcji.Returns an enumerator that is used to iterate through the objects in the collection.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
Load()

Gdy jest zastępowany w klasie pochodnej, ładuje obiekt lub obiekty powiązane do pokrewnego końca z opcją scalania domyślnego.When overridden in a derived class, loads the related object or objects into the related end with the default merge option.

(Odziedziczone po RelatedEnd)
Load(MergeOption)

Ładuje powiązane obiekty do kolekcji przy użyciu określonej opcji scalania.Loads related objects into the collection, using the specified merge option.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Merge<TEntity>(IEnumerable<TEntity>, MergeOption, Boolean)

Scala powiązane jednostki z lokalną EntityCollection<TEntity>.Merges related entities into the local EntityCollection<TEntity>.

(Odziedziczone po RelatedEnd)
OnCollectionDeserialized(StreamingContext)

Używane wewnętrznie do deserializacji obiektów Entity.Used internally to deserialize entity objects.

OnDeserialized(StreamingContext)

Używane wewnętrznie do deserializacji obiektów Entity wraz z RelationshipManager wystąpieniami.Used internally to deserialize entity objects along with the RelationshipManager instances.

(Odziedziczone po RelatedEnd)
OnSerializing(StreamingContext)

Używane wewnętrznie do serializacji obiektów Entity.Used internally to serialize entity objects.

Remove(TEntity)

Usuwa obiekt z kolekcji i oznacza relację do usunięcia.Removes an object from the collection and marks the relationship for deletion.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
ValidateEntityForAttach<TEntity>(TEntity, Int32, Boolean)

Określa, czy obiekt może być dołączony do lokalnej kolekcji lub odwołania.Determines whether an object can be attached to the local collection or reference.

(Odziedziczone po RelatedEnd)
ValidateLoad<TEntity>(MergeOption, String)

Zapewnia, że obiekt lub obiekty powiązane można pomyślnie załadować do lokalnego kolekcji lub odwołania.Ensures that the related object or objects can be successfully loaded into the local collection or reference.

(Odziedziczone po RelatedEnd)
ValidateOwnerForAttach()

Zapewnia, że obiekt, do którego należy pokrewne zakończenie, obsługuje operację Attach.Ensures that the object to which the related end belongs supports an attach operation.

(Odziedziczone po RelatedEnd)

Zdarzenia

AssociationChanged

Występuje po dokonaniu zmiany w powiązanym końcu.Occurs when a change is made to a related end.

(Odziedziczone po RelatedEnd)

Jawne implementacje interfejsu

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który jest używany do iteracji zestawu wartości przechowywanych w EntityCollection<TEntity>pamięci podręcznej.Returns an enumerator that is used to iterate through the set of values cached by EntityCollection<TEntity>.

IListSource.ContainsListCollection

Pobiera wartość wskazującą, czy powiązana kolekcja jednostek składa się z obiektów kolekcji.Gets a value that indicates whether the related entity collection consists of collection objects.

IListSource.GetList()

Zwraca kolekcję jako IList użytą do powiązania danych.Returns the collection as an IList used for data binding.

IRelatedEnd.Add(IEntityWithRelationships)

Dodaje obiekt do powiązanego końca.Adds an object to the related end.

(Odziedziczone po RelatedEnd)
IRelatedEnd.Add(Object)

Dodaje obiekt do powiązanego końca.Adds an object to the related end.

(Odziedziczone po RelatedEnd)
IRelatedEnd.Attach(IEntityWithRelationships)

Dołącza obiekt w powiązanym końcu.Attaches an object at the related end.

(Odziedziczone po RelatedEnd)
IRelatedEnd.Attach(Object)

Dołącza obiekt do powiązanego końca.Attaches an object to the related end.

(Odziedziczone po RelatedEnd)
IRelatedEnd.CreateSourceQuery()

IEnumerable Zwraca wartość reprezentującą obiekty, które należą do powiązanego końca.Returns an IEnumerable that represents the objects that belong to the related end.

(Odziedziczone po RelatedEnd)
IRelatedEnd.Remove(IEntityWithRelationships)

Usuwa obiekt z kolekcji w powiązanym końcu.Removes an object from the collection at the related end.

(Odziedziczone po RelatedEnd)
IRelatedEnd.Remove(Object)

Usuwa obiekt z pokrewnego końca, jeśli obiekt jest częścią powiązanego końca.Removes an object from the related end if the object is part of the related end.

(Odziedziczone po RelatedEnd)

Metody rozszerzania

CopyToDataTable<T>(IEnumerable<T>)

Zwraca DataTable, który zawiera kopie obiektów DataRow, przy użyciu obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Kopiuje DataRow obiektów do określonego DataTable, używając obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Kopiuje DataRow obiektów do określonego DataTable, używając obiektu wejściowego IEnumerable<T>, gdzie T parametru generycznego jest DataRow.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konwertuje IEnumerable na IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Zwraca kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

Zwraca filtrowaną kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of the child elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które mają pasujące XName.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Zwraca kolekcję węzłów, która zawiera wszystkie węzły w kolekcji źródłowej, posortowane w kolejności dokumentu.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Usuwa każdy węzeł w kolekcji źródłowej z węzła nadrzędnego.Removes every node in the source collection from its parent node.

Dotyczy