EntityCollection<TEntity>.Contains(TEntity) 方法

定義

判斷特定物件是否存在集合中。

public:
 virtual bool Contains(TEntity entity);
public bool Contains (TEntity entity);
abstract member Contains : 'Entity -> bool
override this.Contains : 'Entity -> bool
Public Function Contains (entity As TEntity) As Boolean

參數

entity
TEntity

要在 EntityCollection<TEntity> 中尋找的物件。

傳回

如果在 EntityCollection<TEntity> 中找到物件,則為 true,否則為 false

實作

範例

這個範例是根據 Adventure Works Sales Model。 若要執行此範例中的程式碼,您必須已經將 AdventureWorks Sales Model 加入到專案中,並設定您的專案使用 Entity Framework。 若要這樣做,請完成 如何:手動設定 Entity Framework 專案如何:手動定義模型和對應檔案中的程式。

此範例會執行下列各項:

  1. 建立兩個新的 SalesOrderHeader 實體並將它們加入至 Contact 實體。

  2. 從與 Contact 實體相關聯的 RelationshipManager 中取得所有相關端。

  3. 逐一查看 IRelatedEnd 的集合。

  4. 取得每個相關端的 EntityCollection<TEntity>

  5. 使用 Remove 方法,從集合中移除其中一個實體。

  6. 呼叫 Contains 方法來判斷此物件是否已經從集合中移除了。

  7. 使用 Add 方法來重新加入實體。

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);
    }
}

備註

使用 Object.Equals 方法來比較指定的物件與已經位於集合中的物件。

適用於