2012-03-31 17 views
1

Ich versuche, Api Controller zu implementieren, der Daten von MongoDB erhält. Es wäre schön, die IQueryable-Schnittstelle für OData zu unterstützen, wenn der C# -Treiber seit der Version 1.4 LINQ unterstützt.ASP.NET WebApi: IQueryable Unterstützung mit MongoDB offiziellen C# -Treiber

public class UserController : ApiController 
{ 
    private MongoCollection<User> collection; 

    public UserController() 
    { 
    var connectionString = ConfigurationManager.ConnectionStrings["mongo"].ConnectionString; 
    var database = MongoDatabase.Create(connectionString); 
    this.collection = database.GetCollection<User>("users"); 
    } 

    public IQueryable<User> Get() 
    { 
    return this.collection.AsQueryable<User>(); 
    } 
} 

Wenn ich Benutzer versuche folgende Ausnahme, die ich erhalten zu bekommen: war System.ArgumentOutOfRangeException angegebene Argument aus dem Bereich der gültigen Werte. Parametername: Kann Root nicht finden IQueryable

Weiß jemand, was der Grund ist?

+0

Treiber Problem: https://jira.mongodb.org/browse/CSHARP-419?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel –

+0

Behelfslösung ist hinzuzufügen so extra Ausdruck: return this.collection.AsQueryable () .Wählen (u => u); – asa

Antwort

Verwandte Themen