레코드가 데이터베이스 테이블에는 있지만 목록에 포함 된 업데이트 된 레코드에는 없는지 확인하는 데 문제가 있습니다. 레코드가 업데이트 된 목록 내에 존재하지 않지만 데이터베이스 테이블 내에서 레코드가 존재하면 레코드를 삭제해야합니다.Linq를 사용하여 레코드가 목록에 존재하지 않지만 테이블에 존재하는지 확인
테이블을 쿼리하여 수정되었는지 확인하고 레코드가 데이터베이스 테이블에 없으면 업데이트 할 수 있지만 그 반대의 경우 조금 더 까다 롭습니다. 또 다른 제약은 내가 레코드의 삭제를 적절하게 처리 할 수 있도록 exist = true 및 not exist = false의 부울 값으로 결과가 필요하다는 것입니다.
bool exists = db.table.Any(t => t.EntityID != list.EntityID)
을하지만 역을 관리 할 수없는 것 :
나는 레코드가 데이터베이스 테이블에 존재하지 않는 경우 결정하기 위해이 일을하고있다.
목록 및 데이터베이스 테이블에는 Entity Framework를 사용하여 1 : 1 매핑이 있습니다.
레코드가 데이터베이스에는 있지만 목록에는없는 경우 삭제하십시오.
데이터베이스에 "존재하지 않지만"목록에 존재하는 레코드를 찾으려면 어떻게해야합니까? –
@AnilPurswani에 따라 다릅니다. 리스트가 작고 테이블이 커지면'var extraitems = list.Where (l =>! db.table.Select (t => t.EntityID). 포함 (t.EntityID)); 목록이 크고 테이블이 작 으면 먼저 테이블에서 ID를 가져 오는 것이 더 빠를 것입니다. – Corey
내가 제안한 두 번째 옵션을 따라 주셔서 감사합니다 ... –