DataService系列教程 (一)

DataService系列教程 (一)

之前做了一些小项目,用到了DataService这个数据调用框架,所以根据自己实际理解和网上的一些参考,自己做了一些小随笔,方便以后记忆!

关于ADO.NET Entity Framework部分的内容见ADO.NET Entity Framework(1-4)

http://kb.cnblogs.com/page/43963/

本文例子下载: https://files.cnblogs.com/wxwinter/lz.rar

ADO.NET Data Service介绍

1.ADO.NET Data Service的DataServiceHost是一个WCF Service,由System.Data.Services.DataService提供来自NET3.5 SP1 类库中的System.Data.Services.dll

2.DataServices会自动为加载的Entity对象生成具有增查删改功能的WCF服务

3.DataServices是以Http方式与客户端进行通信.任何可以实现HTTP访问的客户端,都可以与DataServices交互

4. NET3.5 SP1的客户端可以使用System.Data.Services.Client.DataServiceContext与DataServices交互,该类来自NET3.5 SP1 类库中的System.Data.Services.Client.dll 文件

5. Silverlight 2.0客户端可以使用System.Data.Services.Client.DataServiceContext与DataServices交互,该类来自Silverlight 2.0 类库中的System.Data.Services.Client 文件

6.DataServices提供ATOM与JSON两种格式用来描述数据结构,说明如下:

ATOM

RSS类似,也是建立在XML数据格式的基础之上的

Atom相对RSS格式而言,进行了扩展,提供了比RSS更多的项目属性

JSON

格式如下

{

"name": "wxd",

"time": "2008/10/10 10:10",

"value": 123.456,

"list": [ "wxwinter", "lzm"]

}

1.创建DataService项目

数据表

tabA

c为可空字段,这样设置是为了后面讲可空字段和非空字段的区别;

tabB

z类似;

创建项目:

创建实体模型

生成实体模型:

生成项目:

2. 创建一个数据服务使用EF模型

生成SVC文件后双击打开,在指出位置中写上刚设置的EF实体例子的名称:

SVC代码,将数据库表纳入服务
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data.Services;
 4 using System.Data.Services.Common;
 5 using System.Linq;
 6 using System.ServiceModel.Web;
 7 using System.Web;
 8 
 9 namespace ServiceDataDemo_Service
10 {
11     public class DataServiceWCF : DataService<EF_Data>/* TODO: 在此放置数据源类名*/ 
12     {
13         // 仅调用此方法一次以初始化涉及服务范围的策略。
14         public static void InitializeService(DataServiceConfiguration config)
15         {
16             // TODO: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
17             // 示例:
18             config.SetEntitySetAccessRule("tab2", EntitySetRights.All);
19             config.SetEntitySetAccessRule("tab1", EntitySetRights.All);
20             //config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
21             config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
22             config.UseVerboseErrors = true;//返回错误信息
23 
24             
25         }
26     }
27 }

3.NET客启访问DataService

引用数据服务

右击SVC文件在浏览器中运行,并复制URL:

在项目中添加服务引用,将URL粘入后前往,点击添加:

成功:

原文地址:https://www.cnblogs.com/pyffcwj/p/ServiceDATA.html