Обновление пользовательского контекста данных в Silverlight

Поэтому я динамически и программно устанавливаю отдельные контексты данных для разных экранов в своем приложении SL. Я сделал это, потому что на одном экране нужно было отобразить данные из разных таблиц базы данных.

Моя задача заключается в следующем: после запроса личной информации и информации о ближайших родственниках (разные таблицы) мне нужно отправить все обновления, сделанные на экране, в соответствующие таблицы.

Я написал собственный запрос, получая данные через загрузку Ego (LINQ), но как мне отправить сделанные изменения после того, как я уже установил контекст данных на экране?

Вот код запроса

        public PersonalInfoModel GetPersonalInfo(string email)
    {
        var PersonalInfo = (from p in DataContext.OFFLINEAPPLICANTs
                            where p.EMAIL_ADDRESS == email
                            select new PersonalInfoModel
                            {
                                AppEmail = p.EMAIL_ADDRESS,
                                FirstName = p.FIRSTNAME,
                                LastName = p.LASTNAME,
                                MiddleName = p.MIDDLENAME,
                                Denomination = p.RELIGIOUSAFF,
                                DateOfBirth = p.DOB,
                                AppliedDate = p.CREATEDDATE.Value,
                                Gender = p.GENDER,
                                TrnOrSsn = p.SSN_TRN,
                                Nis = p.NIS,
                                NationalCountry = p.Country.Country1,
                                NokEmail = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                    .Select(q => q.email).FirstOrDefault(),
                                NokFax = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                    .Select(q => q.fax).FirstOrDefault(),
                                NokFirstName = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                .Select(q => q.first_name).FirstOrDefault(),
                                NokLastName = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                    .Select(q => q.last_name).FirstOrDefault(),
                                NokPhone1 = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                .Select(q => q.tel1).FirstOrDefault(),
                                NokPhone2 = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                    .Select(q => q.tel2).FirstOrDefault(),
                                NokRelationship = p.NEXT_OF_KINs.Where(q => q.email_address == p.EMAIL_ADDRESS)
                                  .Select(q => q.relationship_id).FirstOrDefault(),
                            }).FirstOrDefault();
        return PersonalInfo;
    }

и после загрузки данных из родительского элемента управления SL я устанавливаю контекст данных представления для данных, возвращаемых из этого запроса.

Как я могу отправить изменения или сделать это?

Я использую RIA Services, кстати


person trevoirwilliams    schedule 29.06.2011    source источник


Ответы (1)


Ну, я пришел к выводу, что так делать нельзя. Вместо этого мне пришлось вспомнить исходные таблицы, содержащие соответствующие данные, и соответствующим образом обновить поля, а также внести изменения в контекст.

person trevoirwilliams    schedule 11.07.2011