Проблема в том, что вы не украсили поле Id
объекта [JsonProperty("id")]
, поэтому встроенный транслятор LINQ to SQL не может его преобразовать. Его можно найти в документации космонавта
Однако вы не должны запрашивать документы, используя их идентификатор. Это будет выполнять запрос вместо чтения, и это будет стоить гораздо больше RU и больше времени. Вместо этого используйте метод FindAsync
, который будет выполнять прямое чтение и будет стоить всего 1RU.
Я столкнулся с той же проблемой. У нас есть большое HR DataWarehouse, и я получаю данные из систем по всему предприятию. У меня есть хорошая коллекция таблиц фактов и измерений, но в промежуточной области полный беспорядок. Я не знаю никаких стандартов для этого. Я бы пошел по тому же пути, что и вы, и придумал бы стандартный набор имен, чтобы все было в порядке. Ваше предложение очень хорошо подходит для наименования. Я буду продолжать работать с этим.
Лично я не ищу неприятностей ни в Кимбалле, ни где-либо еще.
Какую «структуру» вы ищете? Какая «структура», по вашему мнению, необходима? Какие проблемы вы видите из-за отсутствия «структуры», которая у вас есть сегодня?
У меня может сложиться впечатление, что я мало думаю о Кимбалле. Не совсем так - я не читал Кимбалла. Я просто не думаю о том, чтобы что-то менять по какой-то причине, кроме подгонки под какой-то шаблон. Было бы хорошо изменить решение какой-нибудь реальной проблемы. Например, если вы обнаружите, что выполняете резервное копирование промежуточных таблиц, потому что из-за отсутствия структуры промежуточные таблицы и таблицы хранилища обрабатываются одинаково, это может стать причиной для изменения структуры. Но если вы имели в виду такие вещи,
В Staging могут быть вложенные области. Называется, например, staging1, staging2.
Staging1 может быть прямым извлечением из источников данных без преобразования. А Staging1 хранит только самые свежие данные.
Staging2 сохраняет данные преобразованными и готовыми к отправке на склад. Staging2 хранит все исторические данные.
Просто примечание, есть книга Рафа Кимбалла "The Data Warehouse ETL Toolkit" и Джо Казерта, поэтому мистер Кимбалл приложил для этого некоторые усилия. :)