Ria Services를 사용하는 Silverlight 응용 프로그램이 있습니다. 이제는 서버에서 예정된 주말 작업을 수행 할 다른 클라이언트 응용 프로그램 (콘솔 응용 프로그램)을 실행하려고합니다. 이 작업을 수행하고 중복을 피하려면 RIA Services DomainContext를 here 및 here과 같이 SOAP를 사용하는 웹 서비스로 노출하기 위해 Ria Services에서 설정 한 엔티티와 관계를 내 웹 사이트에 복제하지 않고 다시 사용할 수 있습니다. 고객.Ria Services SOAP 끝점을 사용하여 클라이언트의 레코드를 삽입 할 때 "잘못된 ChangeSet : 각 항목마다 고유 한 ID가 있어야합니다"오류
클라이언트에서 서비스 참조를 성공적으로 추가했으며 결과를 얻기 위해 웹 서비스를 성공적으로 쿼리 할 수있었습니다. 또한 하나의 새 데이터베이스 항목에 대해 "삽입"문을 수행 할 수 있습니다. 불행히도 업데이트 할 항목 집합에 둘 이상의 항목을 추가하는 순간 "잘못된 ChangeSet : ID가 각 항목마다 고유해야합니다."라는 오류 메시지가 나타납니다.
DomainServiceSoapClient service = new DomainServiceSoapClient();
List<DomainServices.ChangeSetEntry> changesToSave = new List<DomainServices.ChangeSetEntry>();
foreach (string name in myListOfNames)
{
Person newPerson = new Person() {Name = name};
DomainServices.ChangeSetEntry entry = new DomainServices.ChangeSetEntry { Entity = newPerson, Operation = DomainServices.DomainOperation.Insert };
changesToSave.Add(entry);
}
service.SubmitChanges(changesToSave.ToArray<DomainServices.ChangeSetEntry>());
오류 코드의 마지막 줄에 발생합니다
다음은 내 코드입니다. 테스트으로이 마지막 줄을 다음 줄로 바꾸면 (즉, 제출할 배열에 하나의 항목 만 있음) 작동하고 오류가 발생하지 않습니다.
service.SubmitChanges(new DomainServices.ChangeSetEntry[] {changesToSave.ToArray<DomainServices.ChangeSetEntry>()[0]});
는
어떻게이 SubmitChanges 있도록 내가 제출하고자하는 하나 개 이상의 항목이 작품을 할 때 해결할 수 ?
테이블에 기본 키가 있습니까? –
예. 전체 Silverlight 응용 프로그램은 잘 작동하며 Ria Services와 관련된 모든 사항은 Silverlight에서 작동합니다. 이 오류가 발생하는 것은 도메인 서비스 비누 클라이언트 측에서만 발생합니다. – Stanley
누구든지 내 질문을 downvoted 누가 나에게 그것을 해결하고/또는 질문을 받아들이 기 위해 추가 정보를 줄 수있는 downvoted에 관해서는 포인터를 제공 할 수 있습니까? 단순히 downvoted 질문으로 나타나는 경우 나는이 질문을보고 아무도의 위험을 실행하고 난 정말 일부 입력이 필요합니다 ... – Stanley