2012-03-16 3 views
2

WCF 데이터 서비스를 사용하여 MSSQL 데이터베이스에 액세스하고 있습니다. 클라이언트의 요청 데이터 (테이블에서 예 : "프로젝트") 나는 이런 내 캐시를 구축 할 경우 내가 목록을 새로 고치려면WCF 데이터 서비스에서 엔티티를 새로 고치는 방법

var collection = new ObservableCollection<Project>(); 
foreach (var project in this.Entities.Project) 
{ 
    collection.Add(project); 
} 

return collection; 

난 그냥

collection.Clear(); 

를 호출하고 위의 메소드를 호출 다시. 위와 같이 프로젝트를 편집하고 목록을 새로 고치면 제대로 작동하지만 한 클라이언트 인스턴스의 데이터를 변경하고 다른 인스턴스의 목록을 새로 고치면 서비스가 변경된 프로젝트를로드하지 않습니다.

서비스의 관점에서 아무 것도 변경되지 않은 경우에도 DataService가 전체 개체 (예 : '프로젝트')를 다시로드하도록 강제 설정하려면 어떻게해야합니까?

답변

0

가능한 해결 방법 :

public partial class Entities 
{ 
    public void RefreshProject(Project pr) 
    { 
     this.Detach(pr); 
     pr = this.Project.Where(p => p.Id == pr.Id).Single(); 
    } 
} 

사용법 :

entities.RefreshProject (프로젝트);

+0

나는이 프로젝트를 끝내고 다른 방법으로 문제를 해결했다. 그럼에도 불구하고 이것이 문제의 해결 방법이 될 수 있으므로 답변을 수락하겠습니다. – BoltzmannBrain

관련 문제