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 모델을 기반으로 합니다. 이 예제에서 코드를 실행하려면 이미 AdventureWorks 판매 모델을 프로젝트에 추가하고 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 사용하여 지정된 개체를 컬렉션에 이미 있는 개체와 비교합니다.
적용 대상
.NET