WCF RIA Services 学习笔记五 表示模型
2011-05-04 11:08
393 查看
WCF RIA Services 允许您创建从数据访问层的多个实体聚合数据的数据模型,即表示模型。当您不想直接将数据访问层中的实体公开给客户端时,可以使用此功能。使用表示模型时,可以通过只更改表示模型而不更改客户端来响应数据访问层中的更改。此外,通过设计只聚合与客户端的用户有关的那些字段的模型,可以简化客户端代码。本主题说明如何创建、查询和更新一个表示模型以及在中间层或数据源中设置更改时如何将值传回客户端。
本Demo演示的是,要取表一中的部分字段,表二中的部分字段,表三中的部分字段,把三个表整合到一个表示模型中,显示在客户端,
表一是模块表Widget,表二是角色表,aspnet_role,表三是模块角色关系表WidgeIntRole,
要取出Widget表中的ID列和Name列,取出角色表中的aspnet_role中的角色名,和WidgeIntRole表中的ID列,组合成一个新集合绑定DataGrid集合上,
做法:创建表示模型,新建一个类包含所需的字段:
删除模块角色关系
1 /// <summary>
2 /// 删除角色模块关系
3 /// </summary>
4 /// <param name="currentModuteRole"></param>
5 public void DeleteModuteRole(ModuteRole currentModuteRole)
6 {
7 WidgetsInRoles widgetsInRolesEntity = rapEntities.WidgetsInRoles.Where(wr => wr.RoleId == currentModuteRole.RoleID && wr.WidgetId == currentModuteRole.ModuteID).FirstOrDefault();
8 this.rapEntities.WidgetsInRoles.DeleteObject(widgetsInRolesEntity);
9 }
先前的做法是:先查出三个表中的所有集合到客户端,
然后在三个集合中连接查询,再绑定到DataGrid,这样要做三次异步操作,性能差是不言而喻的,而且也查询出了很多不相关的信息,在本Demo只作了一次查询,过滤掉了无关的信息,不知道还没有更好的做法,抛砖引玉吧.
本Demo演示的是,要取表一中的部分字段,表二中的部分字段,表三中的部分字段,把三个表整合到一个表示模型中,显示在客户端,
表一是模块表Widget,表二是角色表,aspnet_role,表三是模块角色关系表WidgeIntRole,
要取出Widget表中的ID列和Name列,取出角色表中的aspnet_role中的角色名,和WidgeIntRole表中的ID列,组合成一个新集合绑定DataGrid集合上,
做法:创建表示模型,新建一个类包含所需的字段:
删除模块角色关系
1 /// <summary>
2 /// 删除角色模块关系
3 /// </summary>
4 /// <param name="currentModuteRole"></param>
5 public void DeleteModuteRole(ModuteRole currentModuteRole)
6 {
7 WidgetsInRoles widgetsInRolesEntity = rapEntities.WidgetsInRoles.Where(wr => wr.RoleId == currentModuteRole.RoleID && wr.WidgetId == currentModuteRole.ModuteID).FirstOrDefault();
8 this.rapEntities.WidgetsInRoles.DeleteObject(widgetsInRolesEntity);
9 }
先前的做法是:先查出三个表中的所有集合到客户端,
然后在三个集合中连接查询,再绑定到DataGrid,这样要做三次异步操作,性能差是不言而喻的,而且也查询出了很多不相关的信息,在本Demo只作了一次查询,过滤掉了无关的信息,不知道还没有更好的做法,抛砖引玉吧.
相关文章推荐
- WCF RIA Services学习笔记四 客户端错误处理
- Wcf Ria Services学习笔记(一):开发前的准备工作
- wcf RIA 学习笔记二 多对多关系操作
- Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件
- prism4学习笔记7:RIA Services 解决方案
- Silverlight WCF RIA服务(十六)表示模型
- WF实例学习笔记:(2)通过Workflow 调用 WCF Data Services 获取数据
- WCF RIA Services---学习记录(1)
- WCF RIA 服务 (十六)- 表示模型
- Programming WCF Services 学习笔记四、Instance Management
- WCF RIA Services---学习记录(1)
- [Silverlight学习笔记]关于利用WCF RIA Service进行通信并在客户端获取数据
- Programming WCF Services 学习笔记二、Service Contract
- Programming WCF Services 学习笔记五、Operations
- WCF RIA 服务 (十六)- 表示模型
- SilverLight商业应用程序开发---学习笔记(2) WCF RIA服务
- Microsoft .NET 的企业解决方案模式 > Web 表示模式 > 模型-视图-控制器(学习笔记四)
- WCF RIA service 学习笔记三 数据验证
- WCF RIA Services 笔记
- 使用Entity Framework和WCF Ria Services开发SilverLight之1:简单模型