ASP.NET WebApi: поддержка IQueryable с официальным драйвером C # MongoDB - PullRequest
1 голос
/ 31 марта 2012

Я пытаюсь реализовать Api Controller, который получает данные из MongoDB.Было бы неплохо поддерживать интерфейс IQueryable для OData, когда драйвер C #, поскольку версия 1.4 поддерживает LINQ.

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>();
  }
}

Когда я пытаюсь получить пользователей, я получаю следующее исключение: System.ArgumentOutOfRangeException Указанный аргумент находится вне диапазонадействительных значений.Имя параметра: Невозможно найти root IQueryable

Кто-нибудь знает, в чем причина?

1 Ответ

0 голосов
/ 09 октября 2012

Решено в asp.net mvc 4 выпуск. Отличная реализация: http://www.strathweb.com/2012/08/supporting-odata-inlinecount-with-the-new-web-api-odata-preview-package/

...