快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

ADO.NET数据服务框架怎么使用

这篇文章主要讲解了“ADO.NET数据服务框架怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ADO.NET数据服务框架怎么使用”吧!

公司专注于为企业提供成都网站建设、成都网站制作、微信公众号开发、商城建设小程序设计,软件按需定制等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联公司更提供一系列网站制作和网站推广的服务。

在需要业务逻辑的情况下(例如实现验证逻辑或安全时),可以使用服务操作。服务操作允许开发人员在 URI 标识的服务器(类似于其他 ADO.NET 数据服务资源)上定义一个方法。这些服务操作是一些添加到派生自表示数据服务的 DataService 的类的方法。

ADO.NET数据服务框架之创建服务操作

若要实现服务操作,请将一个公共实例方法定义为派生自表示数据服务的 DataService 类的数据服务类的一部分。
◆此方法只能接受 [in] 参数。
◆如果对参数进行定义,则每个参数的类型必须为基元类型。
◆此方法必须返回 void、IEnumerable、IQueryable、T 或基元类(如整数或字符串)。
◆T 必须为一个类,此类表示数据服务将公开的数据模型中的某个实体类型。
◆若要支持查询选项(如排序、分页和筛选),服务操作方法应返回 IQueryable
◆必须用 [WebGet] 或 [WebInvoke] 属性为此方法添加批注。
◆[WebGet] 使您能够通过使用 GET 请求调用此方法。
◆[WebInvoke] 使您能够通过使用 PUT、POST 或 DELETE 请求调用此方法。

可以用 SingleResultAttribute 为服务操作添加批注,指定此方法的返回值是一个实体而不是一个实体集。这一区别确定了生成的响应序列化。例如,当使用 AtomPub 序列化时,单个资源类型实例将表示为一个 entry 元素,而单个实例集将表示为一个 feed 元素。如果某个方法未遵循上面定义的约定,则不会将此方法公开为数据服务中的服务操作。对服务操作进行寻址。

根据 ADO.NET 数据服务协议规范,可通过将方法的名称放置到 URI 的***个路径段中来对服务操作进行寻址。可以将其他路径段或查询选项添加到此 URI,具体取决于服务操作的返回类型。下面的示例对公开基于实体框架的模型的数据服务实现服务操作。

public class Northwind :   DataService {  public static void InitializeService(IDataServiceConfiguration config)  {  // Entity sets access configuration.  config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);   // Service operations access configuration.  config.SetServiceOperationAccessRule("OrdersByCity",  ServiceOperationRights.All);  }   [WebGet]  public IQueryable OrdersByCity(string city)  {  if (string.IsNullOrEmpty(city))  {  throw new ArgumentNullException("city",  "You must provide a city name argument");  }   return this.CurrentDataSource.Orders.Where(  "it.ShipCity = @city",   new ObjectParameter("city", city));  }  }

感谢各位的阅读,以上就是“ADO.NET数据服务框架怎么使用”的内容了,经过本文的学习后,相信大家对ADO.NET数据服务框架怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:ADO.NET数据服务框架怎么使用
网址分享:http://6mz.cn/article/pochdh.html

其他资讯