Пакетная запись Firestore в WPF с использованием C#? - PullRequest
0 голосов
/ 09 мая 2020

Я использую google-cloud-do tnet библиотеку для работы с Firestore в моей программе WPF , используя c#

Мне нужно написать большое количество документов за один раз, около 2000 документов .. Так что мне нужно найти способ лучше, чем каждый раз писать один документ

Найдено WriteBatch класс и попробовал следующее:

var batch = new WriteBatch();

DocumentReference docRef = db.Document("cities/myCity");
batch = batch.Set(docRef, new {
    Name = "Los Angeles",
    Country = "USA",
    State = "CA",
});

batch.CommitAsync();

но не смог правильно инициировать пакет, получил сообщение об ошибке:

WriteBatch не содержит конструктора, который принимает 0 аргументов

Итак, не могли бы вы объяснить, как мне инициировать пакетную запись , которая будет использоваться позже?

1 Ответ

1 голос
/ 09 мая 2020

После некоторых исследований я смог успешно использовать batch запись, пример :

using Google.Cloud.Firestore;

// ...

System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "myCredentials.json");
FirestoreDb db = await FirestoreDb.CreateAsync("myProject");

var batch = db.StartBatch();

DocumentReference docRef = db.Document("cities/myCity");
batch = batch.Set(docRef, new {
    Name = "Los Angeles",
    Country = "USA",
    State = "CA",
});

batch.CommitAsync();
...