Планировщик wpf показывает: два объекта привязаны к разному контексту - PullRequest
0 голосов
/ 25 сентября 2019

Используя планировщик devexpress 19.2 с настраиваемым окном встречи и шаблоном mvvm, я пытаюсь отредактировать существующую встречу.Если я создаю встречу и затем редактирую ее, ничего плохого не происходит, но если я сохраняю встречу, перезапускаю приложение и затем пытаюсь изменить встречу, возникает ошибка при вызове base.SaveAppointment ().

Ошибка: недопустимая взаимосвязь исключений операций, два объекта не могут быть определены, поскольку они связаны с различным контекстом.

Почему возникает эта проблема?

Код метода в CustomAppointmentWindowViewModel: AppointmentWindowViewModel выглядит следующим образом: .....

protected void SaveAppointment() {
  MedicalAppointment MedicalAppointment = 
    MedicalAppointments.FirstOrDefault(x=>x.Id == CurrentAppointmentId);
  AppointmentsPerson AppointmentsPerson = (AppointmentsPerson)CustomFields["AppointmentsPerson"];
if(AppointmentsPerson.Id != MedicalAppointment.AppointmentsPerson.Id) {
MedicalAppointment.AppointmentsPerson = AllAppointmentsPersons.FirstOrDefault(x => x.Id == AppointmentsPerson.Id);
}
  MedicalAppointment.StartTime = StartTime;
  MedicalAppointment.StartTime = StartTime;
  Subject = AppointmentsPerson.FullName;
  MedicalAppointment.Subject = Subject;
  MedicalAppointment.Event = Location;
  MedicalAppointment.Details = (String)CustomFields["Details"];
  MedicalAppointment.FirstVisit = (bool)CustomFields["FirstVisit"];
  MedicalAppointment.Accomplished = (bool)CustomFields["Accomplished"];
  MedicalAppointment.DoctorId = (int?)Resource.Id;
  base.SaveAppointment(); // here is the error

}

1 Ответ

0 голосов
/ 26 сентября 2019

Проблема заключалась в том, что я привязываю CustomFieldMapping к сущности в моем настраиваемом назначении (MedicalAppointment.AppointmentsPerson).Я изменил это, чтобы привязать к полю внешнего ключа.

<dxsch:CustomFieldMapping Mapping="AppointmentsPerson_Id" Name="PersonId"/>

или

вместо:

<dxsch:CustomFieldMapping Mapping="AppointmentsPerson" Name="Person"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...