Я пытаюсь интегрировать 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