У меня есть таблица Azure, в которой хранится объект Customer с вложенным адресным объектом, как показано ниже.
public class Customer {
public Guid Id { get; set; }
public string Name { get; set; }
public Address Address { get; set; }
}
public class Address {
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string Postcode { get; set; }
}
Объект "Клиент" сохраняется в таблице Azure со следующими столбцами:
Идентификатор | Имя | Address_AddressLine1 | Address_AddressLine2 | Адрес_Город | Address_Postcode |
---|
Дочерний объект выравнивается и получает столбцы на том же уровне, что и хранилище таблиц, не поддерживающее вложенные объекты.
Я хочу перенести это в Cosmos DB SQL API. Как лучше всего перенести эти данные, чтобы получить вложенный документ json вместо плоского документа с этими столбцами подчеркивания?
Я хочу перенести эти данные, чтобы они выглядели примерно так в Cosmos:
{
Id: 2fca57ec-8c13-4f2c-81c7-d6b649ca6296,
Name: "John Smith",
Address: {
AddressLine1: '123 Street',
AddressLine2: '',
City: 'City',
Postcode: '1234'
}
}
Я пытался использовать инструмент Cosmos Data Migration (устарел?) и фабрику данных Azure, но не смог понять, как преобразовать столбцы Address_* во вложенный объект Address, а не в виде плоских атрибутов в документе json.
Есть ли способ легко сопоставить его с вложенным дочерним объектом или мне придется написать собственный код для выполнения миграции?