EntityCollection<TEntity>.Contains(TEntity) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷特定物件是否存在集合中。
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 專案 和 如何:手動定義模型和對應檔案中的程式。
此範例會執行下列各項:
建立兩個新的
SalesOrderHeader
實體並將它們加入至Contact
實體。從與 Contact 實體相關聯的 RelationshipManager 中取得所有相關端。
逐一查看 IRelatedEnd 的集合。
取得每個相關端的 EntityCollection<TEntity>。
使用 Remove 方法,從集合中移除其中一個實體。
呼叫 Contains 方法來判斷此物件是否已經從集合中移除了。
使用 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 方法來比較指定的物件與已經位於集合中的物件。