Является ли использование коллекции $file system допустимым методом для программного импорта файлов JSON в базу данных LC#

Место общения программистов C#
Anonymous
Является ли использование коллекции $file system допустимым методом для программного импорта файлов JSON в базу данных L

Сообщение Anonymous »

У меня есть коллекция файлов JSON в локальной папке, которую я хочу использовать для заполнения, где имена файлов являются именами коллекций. Каждый файл представляет собой json-массив указанного типа. У меня есть класс, метод которого (ниже) создает базу данных для заполнения, перебирая каждый найденный файл, десериализуя массив как BsonDocument, который я нашел в одном из ответов mbdavid:

Код: Выделить всё

public async Task SeedDbAsync(LiteDatabase db)
{
var mapper = SetMappings();

using (db = new LiteDatabase(_options.Filename))
{
foreach (var path in _paths)
{
var json = await _fileMap.GetFileAsync(path);
var doc = JsonSerializer.DeserializeArray(json).Select(x => x.AsDocument);
db.GetCollection(path.Name).InsertBulk(doc);
}
}

return db;
}
Затем я заметил, что могу упростить это, используя LiteDb для чтения json непосредственно из файла, примерно так:

Код: Выделить всё

SELECT $ FROM $FILE('customers.json')
Помимо меньшего количества строк кода, есть ли у этого пути какие-либо другие преимущества или недостатки?
Я пробовал начальный метод.

Подробнее здесь: https://stackoverflow.com/questions/790 ... y-import-j

Вернуться в «C#»