LINQ에서 SQL로 업데이트 저장 프로 시저를 실행하고 있으므로 업데이트가 호출 된 후 영향을받는 레코드를 알아야합니다.LINQ to SQL의 업데이트 저장 프로 시저의 영향을받는 레코드를 얻는 방법
저는 dbml 디자이너를 사용하여 LINQ 코드를 생성하고 있습니다.
LINQ에서 SQL로 업데이트 저장 프로 시저를 실행하고 있으므로 업데이트가 호출 된 후 영향을받는 레코드를 알아야합니다.LINQ to SQL의 업데이트 저장 프로 시저의 영향을받는 레코드를 얻는 방법
저는 dbml 디자이너를 사용하여 LINQ 코드를 생성하고 있습니다.
나는 어떤 대답도 시도하지 않았고 나는 정답인지 모른다. 결과가 @@rowcount
으로 반환되었습니다.
DataContext.GetChangeSet을 사용해 보셨습니까? 예를 들어,이 업데이트 횟수를 반환 : 테이블에 갱신 된 행을 작성한 다음 다시 테이블을 읽는 것이 작업을 수행하는
linqDbContenxt.GetChangeSet().Updates.Count
한 가지 방법을 Linq에 - 투 - SQL :
UPDATE dbo.YourTable
SET columns = values
OUTPUT INSERTED.ID, INSERTED.column1, INSERTED.column2 -- etc. whatever you need
INTO dbo.OutputTable(.....)
물론, 전에 dbo.OutputTable
을 생성해야합니다. 이 작업을 실행하면 출력 테이블에 업데이트 된 값이 포함됩니다. Linq-to-SQL의 일반 테이블처럼이 테이블을 읽을 수 있습니다.
dbml의 각 객체 유형에 대해 다른 부분 클래스를 만들고 OnCreated 등의 다양한 노출 된 메소드에 연결할 수 있습니다. 업데이트 할 때 직접 만들거나 항목이 수정 될 때 생성되거나 삭제되는 로그를 유지할 수 있습니다 실제 개체에