Also arbeite ich mit ServiceStack und liebe, was es bietet. Wir sind an einem Punkt angelangt, an dem ich eine abfragbare Daten-API implementieren muss ... bevor ich zu diesem Projekt kam, wurde eine halb-unterstützte OData-Implementierung durchgeführt. Ich würde es lieber nicht versuchen und durchweinen, um es zum Laufen zu bringen.AutoQuery Einblick benötigt
Was bringt mich zu AutoQuery. Ich möchte es mit unserer SQL Server-Datenbank versuchen. Ich schaue mir die Beispiele an http://docs.servicestack.net/autoquery-rdbms - aber ich kann nicht für das Leben von mir das zum Funktionieren bringen. Gibt es etwas, das mir hier fehlt?
Ich verwende ORMLite, um SQL abzufragen, und meine Integrationstests, die ich geschrieben habe, zeigen, dass es so funktioniert, wie ich es erwarten würde. Ich habe die OrmLiteConnectionFactory in dem Container registriert, sowie mein Repository, das es über die Abhängigkeitsinjektion verwendet.
-spezifischer Code so weit habe ich eine Art, und eine Nachricht, die auf QueryDb basiert:
public class Detail
{
public string Div { get; set; }
public string Reg { get; set; }
}
[Route("/report/detail")]
public class DetailQuery : QueryDb<Detail>
{
public string[] Div { get; set; }
public string[] Reg { get; set; }
}
Die Nachricht, DetailQuery, durch meinen Dienst verwendet wird:
public class ReportService : Service
{
public object Get(DetailQuery dq)
{
// not sure what to put here?
}
}
Mit All das kann ich die AutoQuery-Dienstinstanz in der Admin-Schnittstelle sehen. Wenn ich mit der Abfrage-Schnittstelle spiele, treffe ich meinen Service-Endpunkt und sehe die Daten, die ich erwarte - Filterwerte in den Kollektionen 'Div' und 'Reg'. Was fehlt mir dafür, hier "nur zu arbeiten"? Ich habe in ServiceStack viel getan, indem ich vom Service aus auf meine Repositorys zugreife, aber ich versuche hier ein paar Einblicke zu bekommen, was AutoQuery hier in die Tabelle bringt. Ich habe noch kein "direktes" Beispiel dafür gesehen, wie das funktioniert ... oder suche ich nach einem Topf voll Gold, der einfach nicht da ist?