SQL Server에서 주어진 시간 동안 테이블을 잠그고 싶습니다. 코드 수준에서 C#을 사용하고 있습니다. 어떻게하면되는지, 테이블이 잠겨 있는지 여부를 확인해야합니다. SQL Server에서 테이블을 잠그는 것에 대한 많은 지식이 없습니다. 엔티티 프레임 워크를 사용하여 달성하고 싶습니다. 어떤 도움이라도 대단히 감사합니다.주어진 시간 동안 SQL 서버 테이블을 잠그고 잠겨 있는지 확인하십시오.
0
A
답변
1
다음과 같이 시도 할 수 있습니다.
using (var context = new YourContext())
{
using (var dbContextTransaction = context.Database.BeginTransaction())
{
//Lock the table during this transaction
context.Database.ExecuteSqlCommand("SELECT 1 FROM YourTable WITH (TABLOCKX)
WAITFOR DELAY '00:03:00'");
//your work here
dbContextTransaction.Commit();
}
}
주 : 이후에 출시 될 테이블 잠금이 BeginTransaction
블록을 종료
+1
작은 편집. 나는'scope.Commit()'대신'dbContextTransaction.Commit()'이어야하고 SQL 명령의 Table은 실제 테이블 이름 –
+1
으로 바뀌어야합니다. 수정 해 주셔서 감사합니다. 나는 그것을 편집했다 :) – Sampath
관련 문제
- 1. Sql Server의 테이블이 잠겨 있는지 확인하십시오.
- 2. OSX : 화면이 잠겨 있는지 확인하십시오
- 3. MongoDB with C# 작업하는 동안 레코드가 잠겨 있는지 확인하십시오.
- 4. 주어진 시간 동안 setTimeout하지만 주어진 시간 동안
- 5. Win32 파일이 읽기 위해 잠겨 있습니다. 누가 잠그고 있는지 찾아야합니다.
- 6. 잠겨 있지 않은 파일이 열려 있는지 확인하십시오.
- 7. VBscript를 사용하여 컴퓨터가 잠겨 있는지 확인하십시오.
- 8. 주어진 배열에 정수가 있는지 확인하십시오.
- 9. 주어진 시간 기록이 postgresql에 같은 날 안에 있는지 확인하십시오.
- 10. MSSQL : 주어진 테이블의 object_id가 비어 있는지 확인하십시오.
- 11. 주어진 전체 경로가 있는지 확인하십시오.
- 12. 런타임 동안 리플렉션을 사용하여 주어진 이벤트가 등록되어 있는지 확인하십시오.
- 13. Active Directory 계정이 잠겨 있는지 확인하십시오 (WPF C#)
- 14. SQL 서버에 데이터가 있는지 확인하십시오.
- 15. SQL 서버 오류 - 잠금 요청 시간 초과가
- 16. 주어진 시간 동안 오디오 재생
- 17. 주어진 시간 동안 일정 잡기
- 18. 테이블을 변경하기 전에 열이 있는지 확인하십시오.
- 19. 데이터에 누락 된 시간 소인이 있는지 확인하십시오.
- 20. 네트워크 드라이브에 시간 초과가 있는지 확인하십시오. #
- 21. C++에서 멀티 스레딩, 세마포어가 잠겨 있는지 확인하십시오.
- 22. C# Windows 계정이 특정 도메인에서 잠겨 있는지 확인하십시오.
- 23. try 블록을 사용하여 파일이 powershell에 잠겨 있는지 확인하십시오.
- 24. 어떻게 테이블을 잠그고 mysql에서 다른 테이블을 생성합니까?
- 25. 업데이트하는 동안 내 쿼리를 위해 테이블을 잠그고 있습니까?
- 26. Java에서 문자열 문자가 주어진 범위에 있는지 확인하십시오.
- 27. 주어진 DOM 요소가 준비되어 있는지 확인하십시오.
- 28. 주어진 인덱스가 std :: vector에 있는지 확인하십시오.
- 29. 주어진 시간에 애니메이션 이미지가 이미지보기에 있는지 확인하십시오.
- 30. 주어진 경로에 Zip 파일이 있는지 확인하십시오.
http://stackoverflow.com/questions/25273157/t-sql-lock-a-table-manually- for-some-minutes – Vincent
순수 엔티티 프레임 워크로 수행 할 수 없습니다. 당신은 ** dao를 사용할 ** 있습니다. –