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改为"数据页面"


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

  • 相关阅读:
    移动端 video播放器层级过高,遮挡住其他内容
    页面多个H5播放器video,如何点击当前视频其他视频暂停
    h5页面在移动端禁止缩放,双击放大,双指放大
    uni-app发h5本地浏览index.html空白的问题
    运行nvue 页面报错reportJSException >>>> exception function:GraphicActionAddElement, exception:You are trying to add a u-text to a u-text, which is illegal as u-text is not a container
    nvue页面注意事项
    移动端可能遇到的问题解决方案
    将博客搬至CSDN
    安装node后配置在全局配置
    swiper使用loop后,无法获取索引的问题
  • 原文地址:https://www.cnblogs.com/fcsh820/p/2095922.html
Copyright © 2011-2022 走看看