Hi,
ich bin relativ neu sowohl in WCF Data Services als auch hier im Forum - aber über die Suche habe ich nichts entsprechendes gefunden, also hier die entsprechende Frage... Ich habe einen "simplen" WCF Data Service, der Datenauflistungen zurück gibt, die wiederum von einem beliebigen anderen Service bereitgestellt werden. Dieser weitere Service kann als BlackBox bezeichnet werden:
Der Datendienst selbst ist dann in etwa definiert:
Dieser Code existiert nicht, wenn Euch also Fehler auffallen, ignoriert sie mal , es geht nur ums Prinzip. So funktioniert das bereits.
So nun zur eigentlichen Frage: Zurück zu folgendem Code:
Ich frage jetzt über Browser oder beliebiges Client-Tool die "Liste" aus dem externen Dienst ab. Diese Anfragen können natürlich OData-konform gefiltert sein. Das funktioniert ja bereits an sich prima.. Mir gefällt aber überhaupt nicht, dass immer erst mal die komplette Liste aus dem externen Dienst abgerufen wird. Erst der Wcf Data Service scheint die Filterung auf die dann zur Verfügung stehende "Ergebnis"-IQueryable anzuwenden. Ideal wäre es doch, wenn die Filter-Query schon auf den externen Dienst angewendet werden könnte. Die technische Möglichkeit besteht. Dafür müsste ich aber irgendwie wissen, wie die Abfrage an den WCF Data Service aussieht, und zwar an der im Quellcode markierten Stelle...
Weiß jemand wie ich dem Problem begegnen kann? Habt Ihr das Anliegen denn verstanden ?
Jörg
ich bin relativ neu sowohl in WCF Data Services als auch hier im Forum - aber über die Suche habe ich nichts entsprechendes gefunden, also hier die entsprechende Frage... Ich habe einen "simplen" WCF Data Service, der Datenauflistungen zurück gibt, die wiederum von einem beliebigen anderen Service bereitgestellt werden. Dieser weitere Service kann als BlackBox bezeichnet werden:
Code:
public class MyDSContext { public externerDienstDummy = new MyExternerDienstDummy() public IQueryable<MeinTyp> Ergebnis { get { return externerDienstDummy.BeliebigeListe.AsQueryable<MeinTyp>(); } } }
Der Datendienst selbst ist dann in etwa definiert:
Code:
public class MyDataService: DataService<MyContext> { public static void InitializeService(DataServiceConfiguration config) { ... } }
So nun zur eigentlichen Frage: Zurück zu folgendem Code:
Code:
public IQueryable<MeinTyp> Ergebnis { get { // an dieser Stelle benötige ich eigentlich schon den an den // Datendienst übergebenen Filter - warum, bitte unten weiterlesen return externerDienstDummy.BeliebigeListe.AsQueryable<MeinTyp>(); } }
Weiß jemand wie ich dem Problem begegnen kann? Habt Ihr das Anliegen denn verstanden ?
Jörg
Comment