Silverlight 学习笔记(一)--创建数据库通信应用程序
Silverlight 3 发布之前与数据库进行交互是一件很麻烦的事情,开发人员需要自己编写Web Services,这样的工作至少涉及三个层面:应用程序端,服务器端,DAL部分,由于Silverlight应用程序(经过压缩的XAP)是在客户端的Runtime进行解析执行的,因此,这样做工作量大,而且操作数据库的效率也不高,在Silverlight 3和 4 Beta版中,对这个问题进行了持续的改进,提出了.NET RIA Services和WCF RIA Service的特性。下面的工作就是如何创建一个Silverlight和数据库交互的应用:
1.首先创建一个新的“Silverlight Business Application”,如下图所示:
将工程名改为:SLBA
2:创建的工程包括了客户端的一个SLBA应用程序(SLBA)和一个服务端的基于ASP.NET工程(SLBA.web,其中包含了测试页),在SLBA.web中App_Data文件夹下创建数据库,右键点击,New Item->Data->SQL Server Database 数据库名为:DB1.mdf
3:双击 Solution 下DB1.mdf文件,可以在Server Explore中看到新数据库默认的分类,Database Diagram显示数据之间关联,Tabel是数据表单,我们点右键新建一个表单:
表单名称:员工性别
为数据表格增加数据:如张三 男 李四 男 王五 女 将数据保存在数据库中
打开SLBA项目属性,在Silverlight这一项可以看到下面一页:
你可以看到微软在项目工程中已经把应用程序.Net RIA Services 连接到服务器端的SLBA.Web中,实际上SLBA.Web中提供的web服务在SLBA中都可以使用,对于开发人员来讲,打开项目文件,客户端和服务器端的数据通讯部分已经有了基本的代码框架,无需自己编写Web Services了。
4.点击SLBA.Web 添加新项:ADO.NET ENTITY FRAMEWORK
命名为M1.edmx
Generate from database 选择 next
在创建连接对象中选择我们刚才创建的数据库数据:
Ctrl+Shift+B
5 SLBA.Web创建一个新的DomainService Class,这是一个基础的类,用户可以继承该类并创建新的服务
在弹出的对话框中选择 Generate associated classes for metadata 这是将Domain Service和原始数据绑定
6.在SLBA项目中,打开Views文件夹,双击Home.xaml, 将datagrid里的控件删除
7. 打开Data Sources控制台,选择Data→Show Data Sources Ctrl+Shift+B编译之后就可以看到数据SLBAContext,
8. 将Context下的Item拖拽到XAML设计器中
9.运行,大功告成了!