먼저 행을 검색하지 않고 LINQ를 사용하여 LINQ를 사용하여 테이블에서 하나 이상의 행을 삭제하려면 어떻게합니까?

StackOverflow https://stackoverflow.com/questions/1601350

  •  05-07-2019
  •  | 
  •  

문제

삭제 저장 프로 시저를 특정 유형의 삭제 방법에 매핑 할 수 있다는 것을 알고 있습니다.

그러나 이것은 내 컨텍스트에 검색된 대상을 전달해야합니다. DeleteObject 방법.

이것은 충분히 나쁘지만 2000 행을 삭제하고 싶다면 어떻게해야합니까? 데이터베이스에서 2000 행을 먼저 검색하고 루프 통화를 통과하지 않고 LINQ 로이 작업을 수행 할 수 있습니까? DeleteObject?

만약에 이러한 기능은 LINQ에 엔터티에 존재하지 않으며,이 기능이 사실이라고 알고 있습니다. 그러면 그렇게 말 해주세요. 다른 옵션을 조사하겠습니다!

직접 존재하지 않으면 LINQ를 통해 저장된 Proc를 엔터티에 배관하는 것입니다.

도움이 되었습니까?

해결책

예, 당신은 이것을 할 수 있습니다. 에서 이 팁:

// Create an entity to represent the Entity you wish to delete
// Notice you don't need to know all the properties, in this
// case just the ID will do.
Category stub = new Category { ID = 4 };
// Now attach the category stub object to the "Categories" set.
// This puts the Entity into the context in the unchanged state,
// This is same state it would have had if you made the query
ctx.AttachTo("Categories", stub);
// Do the delete the category
ctx.DeleteObject(stub);
// Apply the delete to the database
ctx.SaveChanges();

보다 전체 팁 세부 사항과 합병증.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top