2012-02-13 2 views
2

이것은 나를 미치게합니다.Entity Framework 4.1에 DeleteObject 메서드가 없습니다.

ctx.Tanks.DeleteObject(Tank); 

나는 내 친구가 만든 또 다른 edmx 파일에서 다른 객체를 참조하기 위해 노력하고 모든 것이 괜찮 : 나는 여기

object doesn't contain definition for DeleteObject.

에서 오류가 발생 코드 내 라인입니다 오류를 얻고있다 , DeleteObject가 존재합니다. 나는 내 프로젝트에서 어떤 언급도 놓치지 않는다고 생각한다.

프로젝트 자체에는 edmx 파일이 포함되어 있으며 을 사용하여 POCO를 만듭니다.

아이디어가 있으십니까?

+0

같은 템플릿을 사용하는 동일한 버전의 엔티티 프레임 워크를 사용하고 있습니까? – Chriseyre2000

답변

21

DbContext API는 ObjectSet이 아닌 DbSet을 정의합니다. DbSetRemove 방법이 아니며 DeleteObject 방법입니다. 먼저 어떤 API를 사용할 것인지 결정해야합니다. ObjectContext 또는 DbContext 인 경우

+0

감사합니다. 나는 어제 그것을 깨달았다. – bobetko

+0

그래서 DBContext에는 Objectcontext에서 DeleteObject와 같은 부모 및 모든 자식을 제거 할 수있는 방법이 없습니까? – DavieDave

+0

@DavieDave'DbSet'으로 할 수 있습니다. 하위 테이블에 대해 계단식 삭제를 구성한 경우 자동으로 삭제됩니다. – Eranga

0
[HttpPost] 
     public ActionResult Delete(IEnumerable<int> employeeIdsToDelete) 
     { 
      var lstemployee = _db.StudentEmployees.Where(x => employeeIdsToDelete.Contains(x.Id)); 
      foreach (var item in lstemployee) 
      { 
       _db.StudentEmployees.Remove(item); 
      } 
      _db.SaveChanges(); 

      return RedirectToAction("Index"); 
     } 
+0

이미이 게시물에 대한 답변이 접수되었습니다. 기고하고 싶다면 추가 세부 정보와 상황을 바탕으로 답변을 확장하십시오. – CubeJockey