ASP.NET MVC4 Beta ha introdotto un modo semplice per creare endpoint OData utilizzando WebAPI.C# client per utilizzare OData con il supporto linq
Quindi, avendo il seguente controller:
public class ValuesController : ApiController
{
// GET /api/values
public IQueryable<Document> Get()
{
return (new[] {
new Document() { Info = "a", Title = "qwe1" },
new Document() { Info = "b", Title = "qwe2" }, }).AsQueryable();
}
}
posso interrogare i dati con gli URL come: http: // localhost: 44087/API/valori filtro $ = Titolo eq 'qwe1'
C'è una libreria .net adeguata che può consumare questo? Così ho potuto fare qualcosa di simile:
new WebApiClient("http://localhost:44087/api/values")
.Get<Document>().Where(x=>x.Title == "qwe1").ToList()
senza specificare la parte $filter=Title eq 'qwe1'
manualmente?
Se è un endpoint riposante di odata, dovresti essere in grado di aggiungere un "riferimento di servizio" dal tuo progetto di chiamata e VS genererà un classe del proxy per te. – gideon
non è esattamente un * endpoint odata restful * come il servizio dati WCF una volta. È interrogabile come endpoint di odata, ma non ha metadati, quindi aggiungere un riferimento al servizio non funziona – Shaddix
Ah male. Era un'ipotesi. – gideon