Silverlight与数据库的三种互操作[源代码]
Silverlight与数据库的三种互操作
简介
本章节提供Silverlight与后台数据库的三种技术实现基本的互操作(Silverlinght Interoperability),构建一个Silverlight SOA的应用。
准备环境
Windows 2003/2008/vista
Visual Studio.net 2008+sp1
Silverlight 3.0 SDK
Silverlight3 Tools
Microsoft Expression Blend 3
RiaServices.msi
RiaSevicesPreviewBusinessApplication.msi
前提
熟悉.net framework 3.5
了解Silverlight开发
了解Linq开发
了解Ado.net data service
主要内容
创建一个Silverlight应用程序
创建一个普通的WCF服务提供Silverlight应用调用实现互操作
创建一个Ado.net data service服务提供Silverlight应用调用实现互操作
创建一个Domain Service (RIA-Link)提供Silverlight应用调用实现互操作
创建一个Silverlight应用
安装完上述开发组件后,在visual studio.net 2008中会加入Silverlight项目模板,你可以选择Silverlight Navigation Application 或是 Silverlight Business Application创建
解决方案结构
运行起来的页面
添加新页,而不是User Control,安装了RIA Service后会新增许多Silverlight项目模板,在你做应用开发的时候会提供非常方便的使用
创建一个普通的WCF服务提供Silverlight应用调用实现互操作
定义WCF接口
1执行SQL(insert ,update, delete),实现与数据库的互操作
2执行SQL(select),得到返回的dataset后以string的类型返回
Silverlight调用WCF
新增,删除,编辑,查询功能通过调用WCF提供的2个接口实现。
注意:Silverlight Datagrid控件无法绑定匿名对象。
创建一个Ado.net data service服务提供Silverlight应用调用实现互操作
添加LINQ数据源
可以选择ado.net entity data model或是LINQ to SQL Classes
添加一个ado.net data service
Silverlight调用Ado.Net data service
新增,删除,编辑,查询功能通过调用Ado.net data service提供的接口实现
新增功能实现完全参考LINQ to SQL实现方式,惟一不同的是必须调用异步方法实现
创建一个Domain Service (RIA-LINK)提供Silverlight应用调用实现互操作
添加一个Domain Service
选择Domain Service Class
选择需要发布服务的实体类和操作方式,metadata class可以让你很方便实现对实体类的验证和控制显示格式。
Silverlight调用RIA-LINK实现互操作
新增,删除,编辑,查询功能通过调用RIA-LINK提供的接口实现
RIA-LINK(SilverlightApplication3.Web.g.cs)
调用LINQ查询,不同的是不再需要调用异步方法实现这些功能,也不需要引用服务
RIA Serve框架
三种实现方式的比较
WCF服务
ADO.NET Data Service
RIA Service
构建应用程序效率
低
高
高
扩展性
好
差
好
安全性
中
高
高
性能
中
中
高
数据库兼容性
好
仅支持MS SQL
仅支持MS SQL
WCF服务 |
ADO.NET Data Service |
RIA Service | |
构建应用程序效率 |
低 |
高 |
高 |
扩展性 |
好 |
差 |
好 |
安全性 |
中 |
高 |
高 |
性能 |
中 |
中 |
高 |
数据库兼容性 |
好 |
仅支持MS SQL |
仅支持MS SQL |
https://files.cnblogs.com/neozhu/SilverlightApplication3.rar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2008-08-21 使用Web Client Software Factory构建企业级web应用