Office中国论坛/Access中国论坛

标题: 【WPF小品】Silverlight中与数据库交互入门教程 -- 第一课 [打印本页]

作者: todaynew    时间: 2013-7-18 11:16
标题: 【WPF小品】Silverlight中与数据库交互入门教程 -- 第一课
本帖最后由 todaynew 于 2013-7-18 11:27 编辑

  Silverlight是WPF的一个子集,Silverlight编写的应用程序可以有非常丰富的UI界面,据说是下一代Web应用程序的一个方向。不过Silverlight在处理与后台数据库的交互方面有些复杂,需要用到WCF RIA Services 这样一种处理技术。微软编写的msdn对此的描述不是太容易理解,通过几天的摸索,基本找到了常规的处理方法。于是编写此教程与同志们分享。

图示00:

[attach]52193[/attach]


-----------------------------------------------------------------------------------------------------------

第一课 新建Silverlight应用程序
  本课将新建一个Silverlight应用程序,并建立数据库及其数据表。在此基础上添加ADO.NET实体数据模型和域服务类。这些步骤是设计WCF RIA Services的基础。

示例文件:[attach]52194[/attach]

下一课

作者: todaynew    时间: 2013-7-18 11:17
本帖最后由 todaynew 于 2013-7-18 11:19 编辑

1、新建一个Silverlight应用程序,在向导中勾选“启用WCF RIA服务”;

2、在解决方案中将存在两个项目,一个是Silverlight项目,一个是Web项目;

图示01:



作者: todaynew    时间: 2013-7-18 11:17
本帖最后由 todaynew 于 2013-7-18 11:19 编辑

3、在Web项目中添加数据库,数据库将存放在App_Data目录下;

4、在数据库中建立学生表和班级表;

5、在数据库中建立班级表和学生表的一对多关系;

6、在班级表和学生表中输入一些数据以便于后面的调试;

图示02:



作者: todaynew    时间: 2013-7-18 11:17
本帖最后由 todaynew 于 2013-7-18 11:20 编辑

7、在Web项目中添加ADO.Net实体数据模型,在向导中勾选所有的数据表;

8、做一次生成解决方案;

9、在Web项目中添加域服务类,在向导中勾选表,并勾选每个表的启用编辑;

10、做一次生成解决方案;

图示03:



作者: todaynew    时间: 2013-7-18 11:18
本帖最后由 todaynew 于 2013-7-18 11:21 编辑

11、将DataGrid控件从工具箱拖至MainPage.xaml的Grid中,调整其大小,将DataGrid控件的AutoGenerateColumns属性设置为True;


12、打开MainPage.xaml的代码隐藏文件MainPage.xaml.vb;

13、在代码隐藏文件中写如下代码:

Imports System.ServiceModel.DomainServices.Client
Imports RIA示例.Web

Partial Public Class MainPage
    Inherits UserControl
    Private myD As New MyDomainContext

    Public Sub New()
        InitializeComponent()
        SetDataGrid()

    End Sub

    Private Sub SetDataGrid()
        Dim loadop As LoadOperation(Of 学生表) = myD.Load(myD.Get学生表Query())
        DataGrid1.ItemsSource = loadop.Entities()
    End Sub
End Class

14、按F5进行测试,测试效果将是浏览器中DataGrid将显示所有学生表的数据。

图示04:






作者: zhuyiwen    时间: 2013-7-18 21:59
赞一个!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3