Обновление и вставка в базу данных с помощью службы Odata и linq

Я создаю приложение для Windows-телефона 8, которое использует удаленную базу данных. Чтобы получить доступ к этой базе данных, я создал службу данных Odata (работает в IIS).

У меня все готово, удалось получить данные из базы данных с помощью этой службы данных. Но я хочу обновить и вставить данные в базу данных с помощью этого сервиса. Как мне это сделать с помощью linq?

примечание: я уже прочитал это

Но я не могу заставить эту ссылку работать с тем, что у меня уже есть:

        private void Mainpage_loaded(object sender, RoutedEventArgs e)
    { 

        var ctx = new MeasurmentEntities(new Uri("http://192.168.11.240:85/NFCDataService.svc/"));
        var coll = new DataServiceCollection<Device>(ctx);

        Lst.ItemsSource = coll;

        coll.LoadCompleted += new EventHandler<LoadCompletedEventArgs>(coll_LoadCompleted);

        var query = from g in ctx.Devices
                    where g.DeviceId > 2
                    orderby g.DeviceName
                    select g;


        coll.LoadAsync(query);

    }

    void coll_LoadCompleted(object sender, LoadCompletedEventArgs e)
    {

        if (e.Error != null)
        {
            MessageBox.Show(e.Error.ToString());
        }

    }

person Bart Teunissen    schedule 24.07.2013    source источник


Ответы (1)


Что-то вроде следующего, чтобы добавить объект (т.е. вставить запись):

ctx.AddToDevices(new Device{...});
ctx.BeginSaveChanges(new AsynCallback(r=>{
     DataServiceResponse dsr = ctx.EndSaveChanges(r);
     if (dsr.Any(op => op.Error != null))
     {
       //Show error message
     }
     else
     {
       //Succeeded
     }
},null);
person Hong    schedule 13.10.2013