1

我正在构建一个使用远程数据库的 windows-phone 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());
        }

    }
4

1 回答 1

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);
于 2013-10-13T12:12:47.047 回答