【问题标题】:How to create/consume WCF oData Service (RESTful Service) using U2 toolkit for .NET? [closed]如何使用适用于 .NET 的 U2 工具包创建/使用 WCF oData 服务(RESTful 服务)? [关闭]
【发布时间】:2013-01-14 03:11:45
【问题描述】:

我想使用 U2 Toolkit for .NET 和 U2 数据库创建 WCF oData 服务(RESTful 服务)。然后我想在任何 .NET 客户端应用程序中使用 oData 服务。

【问题讨论】:

  • 如果没有具体的问题,很难提供具体的答案。我建议参考相关文档,然后如果出现具体问题,请在此处提问。 RESTful web 服务的文档在这里:rocketsoftware.com/u2/products/u2-clients-and-db-tools/…。如果您已经安装了 Toolkit for .NET,则应该有一个文件夹,其中包含同时安装的文档

标签: rest odata u2 u2netdk


【解决方案1】:

请看下面我的回答:

概述

WCF 数据服务将实体数据公开为数据服务。可以使用 U2 Toolkit for .NET 从 U2 数据库创建此实体数据。本主题向您展示如何在基于现有数据库的 Visual Studio Web 应用程序中创建基于实体框架的数据模型,并使用此数据模型创建新的 WCF oData 服务(RESTful 服务)。 您可以在不同的 .NET 应用程序中使用 WCF oData 服务,例如:

  • WPF 应用程序
  • Windows 8 Metro Style 应用程序
  • Office EXCEL

安装

您需要为 .NET v 1.2.0 安装 U2 工具包。它包含用于 Visual Studio 的 U2 ADO.NET 提供程序和 U2 数据库插件

使用现有 U2 帐户创建实体数据模型

我们将使用 U2 UniVerse 名为“HS.SALES”的示例数据库。 1. 创建名为“U2_WCF_oData_WebApplication”的 ASP.NET Web 应用程序

  1. 在“项目”菜单上,单击“添加新项目”。
  2. 在“模板”窗格中,单击“数据”类别,然后选择 ADO.NET 实体数据模型。
  3. 键入型号名称,然后单击添加。

  4. 在“选择模型内容”对话框中,选择“从数据库生成”。然后点击下一步。

  5. 单击新建连接按钮。
  6. 在“连接属性”对话框中,键入连接字符串参数,然后单击“确定”。
  7. 确保选中将 App.Config 中的实体连接设置保存为:复选框。然后点击下一步。
  8. 将“实体”更改为“客户实体”
  9. 在“选择您的数据库对象”对话框中,选择您计划在数据服务中公开的 CUSTOMER 和 CUSTOMER_ORDERS。为“CustomerModel”修改“HS.SALESModel”。
  10. 单击完成以完成向导。

使用新数据模型(客户模型)创建 WCF oData 服务(RESTful 服务)

  1. 在 Visual Studio 中,打开表示数据模型的 Customer.edmx 文件。
  2. 在模型浏览器中,右键单击模型,单击属性,然后记下实体容器的名称。
  3. 在解决方案资源管理器中,右键单击 ASP.NET 项目的名称,然后单击添加新项。
  4. 在“添加新项”对话框中,选择 WCF 数据服务。
  5. 为服务提供一个名称,然后单击“确定”。
  6. 在数据服务的代码中,将注释 /* TODO: put your data source class name here */ 在定义数据服务的类的定义中替换为继承自 ObjectContext 类的类型,即数据模型的实体容器,已在步骤 2 中注明。

public class U2_Customer_WcfDataService : DataService* TODO: 把你的数据源类名放在这里 */ >

public class U2_Customer_WcfDataService : DataService< CustomerEntities >
  1. 在数据服务的代码中,使授权客户端能够访问数据服务公开的实体集。有关详细信息,请参阅创建数据服务。

    // config.SetEntitySetAccessRule("MyEntityset", EntitySetRights.AllRead);

     config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
    
  2. 要使用 Web 浏览器测试“U2_Customer_WcfDataService.svc”数据服务,请按 Visual Studio ->Debug->StartWithoutDebugging

使用 WCF oData 服务(RESTful 服务)

  1. 在同一解决方案中创建 WPF 项目。将项目重命名为“U2_Consumer_WpfApplication”

2.添加服务参考

  1. 按发现按钮,重命名“U2_WCF_oData_ServiceReference”。按确定。

  1. 转到数据->显示数据源。

  1. 将“客户”拖放到 WPF 设计器中。

  1. 打开“MainWindow.xaml.cs”文件。添加这一行(你的 uri 会有所不同)。

    私有 Uri svcUri = new Uri("http://localhost:38346/U2_Customer_WcfDataService.svc/");

  2. 添加这一行。

    U2_WCF_oData_ServiceReference.CustomerEntities ctx = new U2_WCF_oData_ServiceReference.CustomerEntities(svcUri);

  3. 添加这一行。

    cUSTOMERSViewSource.Source = ctx.CUSTOMERs.ToList();

  4. 您的竞争代码将如下所示。 公共部分类 MainWindow : 窗口 { 私有 Uri svcUri = new Uri("http://localhost:38346/U2_Customer_WcfDataService.svc/");

    public MainWindow()
    {
        InitializeComponent();
    }
    
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        U2_WCF_oData_ServiceReference.CustomerEntities ctx = new U2_WCF_oData_ServiceReference.CustomerEntities(svcUri);
        System.Windows.Data.CollectionViewSource cUSTOMERsViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("cUSTOMERsViewSource")));
        // Load data by setting the CollectionViewSource.Source property:
        // cUSTOMERsViewSource.Source = [generic data source]
        cUSTOMERsViewSource.Source = ctx.CUSTOMERs.ToList();
    }
    

    }

  5. 将 WPF 应用程序设置为“启动项目”。运行 WPF 应用程序。

【讨论】:

  • 感谢您的回复,这真是一个很好的例子,正是我想要的,谢谢!
猜你喜欢
  • 2012-02-11
  • 2013-08-25
  • 2012-07-16
  • 2011-01-02
  • 2013-12-20
  • 2011-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多