Ich versuche, eine benutzerdefinierte Funktion in DocumentDB zu schaffen es in einem zu verwenden, wo Klausel aber die Ausführung der Abfrage ein Microsoft.Azure.Documents.Linq.DocumentQueryException
mit der folgenden Meldung wirft:Wie UserDefinedFunctionProvider.Invoke mit udfs in einem verwenden, wo Klausel
Die Konstante vom Typ 'System.Object' wird nicht unterstützt.
Der folgende Code veranschaulicht das beschriebene Verhalten. Mache ich etwas falsch?
string udfName = "udfDemo";
UserDefinedFunction udfDemo = new UserDefinedFunction()
{
Id = udfName,
Body = @"function(a, b) {
return true;
}"
};
UserDefinedFunction createdUdf = documentClient.UpsertUserDefinedFunctionAsync(documentCollectionUri, udfDemo).Result;
int intParameter1 = 1;
IQueryable<MyModel> query= documentClient
.CreateDocumentQuery<MyModel>(documentCollectionUri)
.Where(order =>
(bool)UserDefinedFunctionProvider.Invoke(udfName, order.CancelationDetails, intParameter1));
var result = query.ToList();
Sie haben Recht, Martin! Wie Rajesh sagte der Bug wurde behoben. Nachdem er Andrew Liu per Mail kontaktiert und ihn zu diesem SO-Post geleitet hatte, führte das DocumentDB-Team einige weitere Untersuchungen durch und behob diesen Fehler in Microsoft Azure DocumentDB Client Library 1.9.2. –