이 엔티티 프레임 워크 호출이 실제로 데이터베이스를 두 번 방문합니까?Entity Framework - DeleteObject에서 데이터베이스로 이동 한 횟수
var result = from p in entities.people where p.id == 6 select p;
entities.DeleteObject(result);
그것은 어쩌면 DeleteObject 매크로가 작동 할 수있는 삭제 기능을 수행 할 목적을 가지고, THEN 결과를 얻을하고 첫 번째 여행을 강제 저를 친다.
그런 경우 두 번째 여행을 어떻게 피할 수 있습니까? 단일 데이터베이스 트립을 통해 엔티티 프레임 워크에서 제거 별 쿼리를 수행하는 방법은 무엇입니까?
감사합니다. 이 기본 키에 의해 쿼리 이었기 때문에
편집
내 원래의 예는 오해의 소지가 있었다. 진짜 질문은 IQueryable에서 항목을 삭제할 수있는 단일 트립 기능을 갖는 방법이 있는지 여부입니다. 예를 들어 :
var result = from p in entities.people where p.cityid == 6 select p;
foreach (var r in result)
{
entities.DeleteObject(r);
}
은 (쿼리 외래 키입니다 알 수 있습니다, 그래서 여러 결과가있을 수 있습니다).
이전에 질문되었습니다 -이 답변 http://stackoverflow.com/questions/869209/bulk-deleting-in-linq-to-entities/870081#870081 일괄 업데이트를 구현하는 방법을 설명하는 문서 링크 'UPDATE ... SET ... WHERE ...'형식으로, 'DELETE ... WHERE ...'질의를 생성 할 수 있어야합니다. – hvd