基于RIA的多层应用(二)--domainDataSource 操作
2011-01-20 21:25
288 查看
(一)增删改查操作
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();
}
}
}
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();
}
}
}
相关文章推荐
- 基于RIA的多层应用(三)--ADO.NET Entity Framework 操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作
- 稳扎稳打Silverlight(57) - 4.0通信之WCF RIA Services: 概述, 通过 DomainDataSource 实现数据的添加、查询、更新和删除操作