EntityCollection<TEntity>.Remove(TEntity) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에서 개체를 제거하고 삭제할 관계를 표시합니다.
public:
virtual bool Remove(TEntity entity);
public bool Remove (TEntity entity);
override this.Remove : 'Entity -> bool
Public Function Remove (entity As TEntity) As Boolean
매개 변수
- entity
- TEntity
컬렉션에서 제거할 개체입니다.
반환
항목이 제거되었으면 true
이고, 그렇지 않으면 false
입니다.
구현
예외
entity
개체가 null
인 경우
예제
이 예제는 Adventure Works Sales 모델을 기반으로 합니다. 이 예제에서 코드를 실행하려면 프로젝트에 AdventureWorks 판매 모델을 이미 추가하고 Entity Framework를 사용하도록 프로젝트를 구성해야 합니다. 이렇게 하려면 방법: 수동으로 Entity Framework 프로젝트 구성 및 방법: 모델 및 매핑 파일 수동 정의의 절차를 완료합니다.
이 예제에서는 메서드를 Remove 사용하여 컬렉션에서 엔터티 중 하나를 제거한 다음 메서드를 Contains 호출하여 개체가 컬렉션에서 제거되었는지 여부를 확인합니다.
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);
}
}
설명
또한 메서드는 Remove 소스 개체와 컬렉션에서 제거되는 개체 간의 관계를 삭제합니다. 관계에 참조 무결성 제약 조건이 있는 경우 종속 개체에서 메서드를 호출 Remove 하면 삭제할 관계와 종속 개체가 모두 표시됩니다. 이는 제약 조건이 종속 개체가 부모와의 관계 없이 존재할 수 없음을 나타내기 때문에 발생합니다. 자세한 내용은 ReferentialConstraint 요소(CSDL)를 참조하세요.
Remove 지정한 개체가 컬렉션에 없으면 를 반환 false
합니다.
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기