您好,登錄后才能下訂單哦!
這篇文章主要講解了“ADO.NET數據服務框架怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ADO.NET數據服務框架怎么使用”吧!
在需要業務邏輯的情況下(例如實現驗證邏輯或安全時),可以使用服務操作。服務操作允許開發人員在 URI 標識的服務器(類似于其他 ADO.NET 數據服務資源)上定義一個方法。這些服務操作是一些添加到派生自表示數據服務的 DataService 的類的方法。
ADO.NET數據服務框架之創建服務操作
若要實現服務操作,請將一個公共實例方法定義為派生自表示數據服務的 DataService 類的數據服務類的一部分。
◆此方法只能接受 [in] 參數。
◆如果對參數進行定義,則每個參數的類型必須為基元類型。
◆此方法必須返回 void、IEnumerable
◆T 必須為一個類,此類表示數據服務將公開的數據模型中的某個實體類型。
◆若要支持查詢選項(如排序、分頁和篩選),服務操作方法應返回 IQueryable
◆必須用 [WebGet] 或 [WebInvoke] 屬性為此方法添加批注。
◆[WebGet] 使您能夠通過使用 GET 請求調用此方法。
◆[WebInvoke] 使您能夠通過使用 PUT、POST 或 DELETE 請求調用此方法。
可以用 SingleResultAttribute 為服務操作添加批注,指定此方法的返回值是一個實體而不是一個實體集。這一區別確定了生成的響應序列化。例如,當使用 AtomPub 序列化時,單個資源類型實例將表示為一個 entry 元素,而單個實例集將表示為一個 feed 元素。如果某個方法未遵循上面定義的約定,則不會將此方法公開為數據服務中的服務操作。對服務操作進行尋址。
根據 ADO.NET 數據服務協議規范,可通過將方法的名稱放置到 URI 的***個路徑段中來對服務操作進行尋址。可以將其他路徑段或查詢選項添加到此 URI,具體取決于服務操作的返回類型。下面的示例對公開基于實體框架的模型的數據服務實現服務操作。
public class Northwind : DataService<NorthwindModel.NorthwindEntities> { 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<Orders> 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數據服務框架怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。