documentDbに文書を挿入したい。これは、ドキュメントを挿入する前にカスタムidプロパティを追加していないときにうまくいきます。Azure Cosmos/DocumentDBの問題、カスタムidプロパティを設定するとき
例
foreach (dynamic doc in docs)
{
if (doc != null)
{
doc.id = Convert.ToString(doc.myCustomId); // myCustomId is an integer
var addedDoc = await dbClient.UpsertDocumentAsync(collectionUri, doc);
addedDocuments.Add(addedDoc);
}
}
Iはdoc.id =を削除する場合>文書がIDとしてGUIDが付加されています。
エラーは次のとおりです。「アレイを文字列に変換できません。
" bei Newtonsoft.Json.Linq.JToken.op_Explicit(JToken value)\r\n bei Newtonsoft.Json.Linq.JToken.ToObject(Type objectType)\r\n bei Newtonsoft.Json.Linq.JToken.ToObject[T]()\r\n bei Microsoft.Azure.Documents.JsonSerializable.GetValue[T](String propertyName)\r\n bei Microsoft.Azure.Documents.Resource.get_Id()\r\n bei Microsoft.Azure.Documents.Client.DocumentClient.ValidateResource(Resource resource)\r\n
コードは、あなたが9.0.1よりも高いNewtonsoft.Json
のバージョンを使用する場合、このエラーが発生する可能性がありますAzureの機能に
Newtonsoft.JsonとDocumentDb Nugetパッケージのどのバージョンを使用していますか?私はこれがバージョンの不一致に関連する問題かもしれないと思う。 – brettsam
doc.myCustomIdの値は何ですか? –
@brettsam newtonsoftのバージョンは10.0.3で、プロジェクトのすべてのdepsをチェックしており、すべてのnugetパッケージは同じバージョンを参照しています。10.0.3 –