모바일 응용 프로그램에서 일부 데이터를 보내고 DB에 저장하는 데 사용되는 WCF 웹 서비스에서 작업했습니다."종속 작업의 유효한 순서를 확인할 수 없습니다"
테스트 사례 중 하나는 앱에 2 개 (또는 그 이상)의 레코드를 추가하려고 시도하고 서비스가 일괄 삽입/업데이트 작업을 수행하기 위해 호출된다는 것입니다. 내가 localhost
를 사용하지만, 우리가 그것을 테스트 할 때 프로덕션 서버를 사용하여 테스트 할 때
모든 다른 레코드가 오류 메시지가
Unable to determine a valid ordering for dependent operations...store-generated values.
I를 유발 동안 만 첫 번째 레코드가 저장됩니다 잘 간다 원인이 무엇인지, 어떻게 해결해야하는지 전혀 모른다. 몇 가지 연구를 해본 결과, model/DB table
에는 순환 의존성이나 자체 의존성이 없다고 확신합니다.
public void submit(List<SubmissionParameter> param){
using (var context = ObjectContextManager.AuditEnabledInstance){
foreach (var item in param){
ReadingSubmission readingSubmission = context.ReadingSubmissions.Where(p => p.ReadingSubmissionUniqueIdentifier == item.Readingsubmissionuniqueidentifier).SingleOrDefault();
if (readingSubmission == null){
readingSubmission = new ReadingSubmission();
context.ReadingSubmissions.AddObject(readingSubmission);
}
readingSubmission.ReadingSubmissionUniqueIdentifier = item.Readingsubmissionuniqueidentifier;
readingSubmission.SystemID = item.Systemid;
readingSubmission.UserID = item.Userid;
foreach (var record in item.Readings){
SystemReading systemReading = context.SystemReadings.Where(p => p.SystemReadingUniqueIdentifier == record.Systemreadinguniqueidentifier).SingleOrDefault();
if (systemReading == null){
systemReading = new SystemReading();
readingSubmission.SystemReadings.Add(systemReading);
}
systemReading.SystemReadingUniqueIdentifier = record.Systemreadinguniqueidentifier;
systemReading.MeasurementID = record.Measurementid;
}
context.SaveChanges();
}
}
}
ReadingSubmission
및 SystemReading
이
SubmissionParameter
이 웹 서비스에 JSON
개체를 보내드립니다 모바일 클라이언트로 바로 전송 객체 인 1 to many
관계입니다 : 아래
나는이 웹 서비스에 JSON
을 게시하여 테스트 할 수 있으므로이 문제는 모바일 클라이언트 측에 없다고 확신합니다.
도움을 주시면 감사하겠습니다. 감사!