In meinem folgenden WCF Data Services Beispiel wird gezeigt wie man eine Relation erzeugt. Basis ist ein EF Modell mit der Northwind Datenbank und der Order Order_details Verknüpfung.
In der Code Date des Services (svc.vb svc.cs) wird konfiguriert, welche Tabellen letztendlich mit welchen Rechten nach Außen zur Verfügung gestellt werden.
Public Shared Sub InitializeService(ByVal config As DataServiceConfiguration)
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead Or
EntitySetRights.WriteMerge Or EntitySetRights.WriteReplace)
config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead Or EntitySetRights.AllWrite)
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All)
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2
End Sub
Ein Aufruf des Data Services im Browser liefert nun auch schon die möglichen Querys zurück
Per REST und GET kann nun so z.B. per
http://localhost:1892/WcfDataService1.svc/Orders
eine Liste aller Bestellungen im ATOM Format abgerufen werden. Mittels
http://localhost:1892/WcfDataService1.svc/Orders(10248)/Order_Details
werden dann die Detail Datensätze zu einer bestimmten Order ausgegeben. Die REST Abfragen sind Case Sensitiv!