2010-01-03 2 views
2

다음 질문에 대한 답변을 제발 도와주세요. SQL Server 데이터베이스에서 프런트 엔드 WPF 응용 프로그램 업데이트

최근 내가 SQL에 LINQ를 통해 SQL 서버 DB에서 즉시 업데이트 WPF 클래스의 가능성에 대해, SO에 질문을 :이 다소 복잡한 문제가 있음을 알고있어 답변에서

How to use PropertyChangedEventHandler of LINQ to SQL class for immediate updating?

및 DB에서 언제 정확히 무엇이 변경되었는지 알 수있는 쉬운 방법이 없습니다. 가장 일반적인 방법은 타이머를 사용하여 DB를 폴링하는 것입니다. (해답은이 문제를 해결하는 다른 방법 이었지만 해결 방법으로, 개발자에게는 항상 분명하지는 않음).

내 질문은 (나는이 시나리오는 DB 대부분의 응용 프로그램에 연결하는 것이 일반적인 생각) :

것은 내가 쿼리를 얻을 수있는 50'000 또는 100'000 기록으로 DB에 테이블이 상상을 .

이 쿼리를 사용하여 WPF 앱의 일부 시각화 컨트롤을 지속적으로 업데이트해야합니다. 그렇다면 가능한 한 업데이트 된 이벤트에 대한 청취뿐만 아니라 변경 될 수있는 레코드를 찾고있는 총 레코드 수에 대한 쿼리를 끊임없이 만들어야한다는 의미입니까? 이런 종류의 일을하는 것이 일반적인 방법입니까? 또는 전혀 문제가되지 않을 수 있으며 그러한 레코드 수는 대개 밀리 초 단위로 쿼리됩니다.

답변

3

레코드에 타임 스탬프 필드를 포함하고 업데이트 또는 삽입시 해당 타임 스탬프를 업데이트하기 위해 SQL 서버에 트리거를 생성 할 수 있습니다. 새로 고침 코드에서 마지막 새로 고침 시간보다 긴 시간 소인이있는 레코드를 테이블에 쿼리하십시오.

2

데이터베이스와 응용 프로그램 간의 복잡한 통신을 포함하지 않는 응용 프로그램에 데이터베이스를 알리는 방법은 없습니다. 그러나 응용 프로그램은 응용 프로그램간에 통신하기 위해 WCF를 사용할 수있는 변경 사항이 있음을 서로에게 쉽게 알릴 수 있습니다. 데이터베이스를 사용하는 단일 응용 프로그램 또는 여러 응용 프로그램에 대해 이야기하고 있습니까?

구체적인 시나리오는 무엇입니까? 동시성에 대해 걱정하십니까?

+0

실제로 매우 구체적인 것은 없습니다. 나는 프론트 엔드와 백 엔드 사이의 통신을 구현하기위한 일반적인 접근법을 이해하려고 노력하고있다. 그리고 나는 표준 양방향 의사 소통이 없다는 것을 깨달았습니다. (나는 조금 신참이다.) – rem

관련 문제