Объект хранилища Entity Framework в столбце - PullRequest
0 голосов
/ 22 марта 2019

В настоящее время я следую шаблону, в котором храню объекты, которые сериализуются и десериализуются в определенный столбец.

Раньше с этим шаблоном все было в порядке, однако сейчас, из-за частоты транзакций, стоимость сериализации объекта в строку JSON, а затем последующего извлечения строки и десериализации обратно в объект слишком дорога.

Можно ли сохранить объект непосредственно в столбце, чтобы избежать этой стоимости? Я использую Entity Framework и хотел бы обрабатывать данные, хранящиеся в этом столбце, как тип Object.

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 22 марта 2019

Сериализация JSON не является быстрой. Это быстрее и менее многословно, чем XML, но намного медленнее, чем двоичная сериализация. Я бы посмотрел на сторонние двоичные сериализаторы, а именно ZeroFormatter, или Wire / Hyperion. Для своих собственных целей я использую Wire как «достаточно быстрый» и простой в реализации вариант.

Что касается структуры таблицы, я бы рекомендовал хранить сериализованные данные в отдельной связанной таблице 1..0-1. Поэтому, если бы у меня была таблица Order, которую я хотел бы сериализовать в некоторой дополнительной структуре, связанной с заказами (например, из сторонней системы доставки), я бы создал другую таблицу с именем OrderDeliveryInfo с PK OrderID, чтобы присоединиться к таблице Order для размещения Двоичный столбец [] для сериализованных данных. Причина этого заключается в том, чтобы избежать затрат на извлечение и передачу двоичного двоичного объекта каждый раз, когда я запрашиваю записи заказа, если только я явно не запрашиваю информацию о доставке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...