您的位置:首页 > 大数据 > 人工智能

稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作

2010-10-14 09:27 836 查看
[索引页]
[源码下载]

[align=center]稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作[/align]

作者:webabcd

介绍
Silverlight 4.0 之 WCF RIA Services:概述以及如何通过 DomainDataSource 实现数据的添加、查询、更新和删除操作,以及服务端的查询、排序和分页等逻辑

在线DEMO
/article/4589659.html

示例
1、概述
Summary.xaml

代码

/*
* 演示通过 DomainDataSource 实现数据的添加、查询、更新和删除操作,以及服务端的查询、排序和分页等逻辑
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;

using Silverlight40.Web.Model;
using System.ServiceModel.DomainServices.Client;

namespace Silverlight40.WCFRIAServices
{
public partial class DomainDataSourceDemo : Page
{
public DomainDataSourceDemo()
{
InitializeComponent();
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
// DomainDataSource.SubmitChanges() - 提交数据的变化
// DomainDataSource.SubmittingChanges - SubmitChanges() 执行前所触发的事件
// DomainDataSource.SubmittedChanges - SubmitChanges() 执行后所触发的事件
// DomainDataSource.Load() - 加载查询结果

productDomainDataSource.SubmittingChanges += new EventHandler<SubmittingChangesEventArgs>(productDomainDataSource_SubmittingChanges);
productDomainDataSource.SubmittedChanges += new EventHandler<SubmittedChangesEventArgs>(productDomainDataSource_SubmittedChanges);
}

private void productDomainDataSource_LoadedData(object sender, LoadedDataEventArgs e)
{
if (e.HasError)
{
System.Windows.MessageBox.Show(e.Error.ToString(), "Load Error", System.Windows.MessageBoxButton.OK);
e.MarkErrorAsHandled();
}
}

private void btnSave_Click(object sender, RoutedEventArgs e)
{
productDomainDataSource.SubmitChanges();
}

void productDomainDataSource_SubmittingChanges(object sender, SubmittingChangesEventArgs e)
{
MessageBox.Show("Submitting");
}

void productDomainDataSource_SubmittedChanges(object sender, SubmittedChangesEventArgs e)
{
if (e.HasError)
{
MessageBox.Show(e.Error.ToString());
}
else
{
MessageBox.Show("Submitted");
productDomainDataSource.Load();
}
}

private void btnAdd_Click(object sender, RoutedEventArgs e)
{
// DomainDataSource.DomainContext - 数据上下文对象 [System.ServiceModel.DomainServices.Client.DomainContext 类型]
// DomainContext.EntityContainer - 数据上下文对象中的全部实体 [System.ServiceModel.DomainServices.Client.EntityContainer 类型]
// EntityContainer.GetEntitySet<T>() - 获取指定类型的实体数据

EntitySet<Product> products = productDomainDataSource.DomainContext.EntityContainer.GetEntitySet<Product>();
Product product = new Product();
product.ProductName = txtProductName4Add.Text;
product.CategoryID = 1;
product.SupplierID = 1;
products.Add(product);

productDomainDataSource.SubmitChanges();
}

private void btnDelete_Click(object sender, RoutedEventArgs e)
{
EntitySet<Product> products = productDomainDataSource.DomainContext.EntityContainer.GetEntitySet<Product>();
Product product = dataGrid.SelectedItem as Product;
products.Remove(product);

productDomainDataSource.SubmitChanges();
}
}
}

OK
[源码下载]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐