Я переносу приложение из SQL Azure DB в Cosmos DB, и у меня возникают проблемы с хранением документов в CosmosDB.
Мое приложение написано на C # с использованием библиотеки Microsoft.Azure.DocumentDB.Когда я использую метод CreateDocumentAsync (Uri, object) из библиотеки Microsoft.Azure.DocumentDB, чтобы вставить запись, она проходит без ошибок.Когда я запрашиваю базу данных с помощью проводника данных Azure CosmosDB, я не вижу никаких записей, хотя в оболочке mongo count () указывает, что записи есть, и .find () выдает ошибку «Произошла неизвестная ошибка сервера при обработке этого запроса."
Я использовал библиотеку Microsoft.Azure.DocumentDB, чтобы сделать что-то вроде.Я проверил это с эмулятором, который работал.однако, когда я пытался соединить онлайн cosmosDB, я столкнулся с проблемой, что в тот момент, когда я вставляю документ с помощью метода CreateDocumentAsync (Uri, object) из библиотеки, я больше не могу видеть вставленные документы в dataexplorer comosDb.
Я пытался вставить его без идентификатора и пытался вставить его с идентификатором объекта _id, однако я продолжал получать ту же проблему.
Когда я смотрю в коллекцию через оболочку Монго, я вижу, чтодокумент был добавлен, но когда я использовал db.colleciton.find (), я получаю ошибку: «Произошла неизвестная ошибка сервера при обработке этого запроса».Код дальше по цепочке в состоянии получить документы.Я что-то пропустил?мне нужно установить параметр в Azure dB, или это известная проблема библиотеки?
class SalesOrder
{
public string Id { get; set; }
public string PurchaseOrderNumber { get; set; }
public DateTime OrderDate { get; set; }
public string AccountNumber { get; set; }
public decimal SubTotal { get; set; }
public decimal TaxAmt { get; set; }
public decimal Freight { get; set; }
public decimal TotalDue {get; set;}
}
class Program
{
private static readonly string endpointUrl = "endpoint";
private static readonly string authorizationKey = "authorizationKey";
private static readonly string databaseId = "databaseId";
private static readonly string collectionId = "collectionId";
private static DocumentClient client;
static void Main(string[] args)
{
using (client = new DocumentClient(new Uri(endpointUrl), authorizationKey))
{
var collectionLink = UriFactory.CreateDocumentCollectionUri(databaseId, collectionId);
Insert(collectionLink).Wait();
}
}
private static async Task Insert(Uri collectionLink)
{
var orders = new List<object>();
orders.Add(new SalesOrder
{
Id = "POCO1",
PurchaseOrderNumber = "PO18009186470",
OrderDate = new DateTime(2005, 7, 1),
AccountNumber = "10-4020-000510",
SubTotal = 419.4589m,
TaxAmt = 12.5838m,
Freight = 472.3108m,
TotalDue = 985.018m
});
orders.Add(new SalesOrder
{
Id = "POCO2",
PurchaseOrderNumber = "PO15428132599",
OrderDate = new DateTime(2005, 7, 1),
AccountNumber = "10-4020-000646",
SubTotal = 6107.0820m,
TaxAmt = 586.1203m,
Freight = 183.1626m,
TotalDue = 4893.3929m,
});
foreach (var order in orders)
{
Document created = await client.CreateDocumentAsync(collectionLink, order);
Console.WriteLine(created);
}
}
}