0

我在 ObservableCollection 中有一些记录。

void proxy_AddPayNowOrderCompleted(object sender, AddPayNowOrderCompletedEventArgs e)
{
    listBox1.ItemsSource = e.Result;
    ObservableCollection<Product> Products = this.listBox1.ItemsSource as ObservableCollection<Product>;
}

我的产品实体将有 prodid、prodname、prodrice。ObservableCollection 中会有很多这样的实体。我想将 ObservableCollection 中的所有记录保存到我的 SQL 数据库中。我正在使用此代码将一条记录保存到数据库中。

private void btn1_Click(object sender, RoutedEventArgs e)
{
    proxy.AddPayNowOrderCompleted += new EventHandler<AddPayNowOrderCompletedEventArgs>(proxy_AddPayNowOrderCompleted);
    proxy.AddPayNowOrderAsync(orderdate, prodid, orderprodname, orderprice, orderstatus, custemail, paymentdate);
}

如何将所有记录存储在 ObservableCollection 中并将它们插入数据库?

4

1 回答 1

2

像这样的东西应该工作:

ObservableCollection<Product> Products = this.listBox1.ItemsSource as ObservableCollection<Product>;
proxy.AddPayNowOrderCompleted += new EventHandler<AddPayNowOrderCompletedEventArgs>(proxy_AddPayNowOrderCompleted);
foreach (Product p in Products)
{
    proxy.AddPayNowOrderAsync(p.orderdate, p.prodid, p.orderprodname, p.orderprice, p.orderstatus, p.custemail, p.paymentdate);
}

您的服务可能有一种方法允许您一次传递多个产品,这比进行所有这些单独的往返旅行要高效得多,但是如果没有有关代理类中成员的更多信息,则无法确定。

于 2012-06-20T15:04:59.450 回答