zoukankan      html  css  js  c++  java
  • (转)Silverlight学习点滴之一——使用WCF RIA构建应用

    原文地址:http://www.cnblogs.com/Realh/archive/2011/06/30/2094019.html

    WCF RIA是一项很有意思的技术,能够让客户端的Silverlight直接访问服务端的数据库,而不需要创建新的WCF项目(当然,其底层还是通过WCF实现的),就像操作本地的数据库一样。

    不过,WCF RIA只能用于Silverlight。相关安装包在Silverlight 4.0中包含。

    我选择创建的是Silverlight Businuss,参考的是这个视频:.NET RIA Services Intro


    1. 创建Silverlight Businuss Application

    我创建的项目名称是DataManageSystem。创建成功后,在解决方案目录下,会生成DataManageSystem和DataManageSystem.Web两个项目。
    在这里,推荐使用火狐浏览器进行调试。Chrome没法禁止缓存,常常每次修改完运行调试,运行的还是老版本的代码。IE8么,实在是卡,动不动就假死,只好算了。

    Silverlight Business界面布局


    2.  添加数据库访问层
    这里我选的Entity Framework 4.1。因为数据库已经建了表了,所以选择Database First方式,在DataManageSystem.Web项目中添加新项目,选择ADO.Net 实体数据模型。我对表名全部使用了复数形式,所以勾选“确定所生成的对象名称的单复数形式”,这样能够映射得到单数形式的类名。

    完了记得生成一下项目,这一步非常重要!


    3. 添加Service
    在DataManageSystem.Web项目中添加新项目,选择Domain Service Class。勾选对应的实体,是否启用编辑就随意了。
    上一步如果没有生成项目的话,这边的实体类是不会显示的!

    4. 在客户端添加新的视图
    在客户端的View当中添加Silverlight页"DataSourceList.xaml"

    添加"System.Windows.Controls.Data"的引用,是这个Dll提供了DataGrid控件。

    编辑Xaml,添加命名空间:

    xmlns:data="clr-namespace:System.Windows.Controls;
    assembly=System.Windows.Controls.Data"


    添加控件DataGridView(记得加data前缀)。

    <data:DataGrid x:Name="dataGrid" AutoGenerateColumns="False" IsReadOnly="True">
    <data:DataGrid.Columns>
    <data:DataGridTextColumn Header="数据源类别"
    Binding
    ="{Binding 数据源类别}" />
    <data:DataGridTextColumn Header="数据源版本"
    Binding
    ="{Binding 数据源版本}" />
    <data:DataGridTextColumn Header="摘要"
    Binding
    ="{Binding 摘要}" />
    <data:DataGridTextColumn Header="测图比例尺"
    Binding
    ="{Binding 测图比例尺}" />
    <data:DataGridTextColumn Header="保密级别"
    Binding
    ="{Binding 保密级别}" />
    </data:DataGrid.Columns>
    </data:DataGrid>

    转到后台代码,添加命名空间"DataManageSystem.Web",在页面Loaded事件中添加数据绑定的代码:

    private void Page_Loaded(object sender, RoutedEventArgs e)
    {
    var context
    = new DataSourceContext();
    dataGrid.ItemsSource
    = context.DataSources;
    context.Load( context.GetDataSourcesQuery() );
    }

    转到MainPage中,依样画葫芦,再加一个HyperlikeButton。其中NavigateUri改为"/DataSourceList", Content改为"数据页面"


    最后生成以下,启动调试:

  • 相关阅读:
    CentOS7搭建SFTP服务
    MySQL主从异常恢复
    MySQL主从复制配置
    Docker安装MySQL8.0
    CentOS7安装JDK1.8
    RabbitMQ死信队列
    RabbitMQ重试机制
    RabbitMQ消息可靠性传输
    TCP/IP的Socket编程
    c#网络编程使用tcpListener和tcpClient
  • 原文地址:https://www.cnblogs.com/fcsh820/p/2095922.html
Copyright © 2011-2022 走看看