ADO.Net数据服务如何支持POST而非create?
时间:2020-03-06 14:55:18 来源:igfitidea点击:
从到目前为止的文档中,ADO.Net数据服务被定位为以RESTful方式向数据库中的表公开CRUD之类的接口的方式。这对于仅执行这四个操作的应用程序非常有用,但是对于执行更多操作的应用程序呢?
诸如"打印","批准","提交","复制","转移","处理","计算"之类的动词呢?
RESTful应用程序中的常见方法是创建可以与之交互以执行这些添加请求的新资源。例如创建可以发布以执行打印操作的打印机资源。但是,这些资源不一定映射到数据库中的表或者视图。
ADO.Net数据服务如何处理这些未映射到表的资源?例如,假设我们正在计算工资单,并且创建了一个端点/ PayrollService / PayCalculator。张贴包含一些员工信息及其工资总额的实体将指示PayCalculator资源返回员工的福利和扣除额。
解决方案
数据服务可以公开在其上实现IQueryable以及可选地实现IUpdateable的"任何"对象图。不需要以任何方式将对象映射到数据库。这应该做我们想要的。观看这段15分钟的视频http://channel9.msdn.com/posts/mtaulty/ADONET-Data-Services-VS08-Sp1-B1-Sursurface-Data/
如果愿意,我们还可以实现服务操作方法。好吧,不要那么RESTful,但方便又容易做到。观看这段7分钟的视频http://channel9.msdn.com/posts/mtaulty/ADONET-Data-Services-VS08-Sp1-B1-Service-Operations/