ASP NET Core - Использовать OData с mongoDB - Сбой сериализатора - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь интегрировать OData в ASP NET Базовое приложение. Особенность в том, что у меня есть Mon go DB, и я использую драйвер Mon go DB, чтобы установить свой запрос как IQueryable; Я упростил приведенный ниже код, и кажется, что сериализатор mon go не работает

[HttpGet]
[EnableQuery]
public async Task<IActionResult> Index(ODataQueryOptions<Policy> queryOptions)
{
    var client = new MongoClient("mongodb://127.0.0.1:27017");
    var collection = client.GetDatabase("policy-server").GetCollection<Policy>("policy");
    var policies = collection.AsQueryable();
    var query = queryOptions.ApplyTo(policies);
    var s = query.ToString(); // error in toString()
    return Ok(s); 
}

У меня возникла ошибка при вызове его URL [https://localhost: 44355 / api /icies ? $ select = isEnabled] [1]

ArgumentException: тип значения сериализатора: Microsoft.As pNet .OData.Query.Expressions.PropertyContainer + NamedProperty 1[[System.Nullable 1 [[System.Boolean, System.Private .CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e]], System.Private.CoreLib, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e]] и не соответствует типу элемента Microsoft.As pNet .OData.Query.Expressions.PropertyContainer. (Параметр serializer) MongoDB.Bson.Serialization.BsonMemberMap.SetSerializer (сериализатор IBsonSerializer) в BsonMemberMap.cs, строка 480

Может кто-то уже смешал OData и драйвер MongoDB?

Thx

...