Быстрая сериализация и десериализация с использованием динамически излучаемых POCO

В настоящее время я сериализирую строки таблицы SQL в двоичный формат для эффективного хранения. Я сериализовать / десериализовать двоичные данные вList<object> за ряд Я пытаюсь обновить это, чтобы использовать POCO, которые будут динамически генерироваться (генерироваться) с одним полем на столбец.

Я искал в Интернете несколько часов и наткнулся на ORM / фреймворки, такие как EF, T4, ExpandoObject, но все они либо используют динамический объект (свойства могут быть добавлены / удалены на лету), либо просто генерируют POCO перед компиляцией. Я не могу использовать шаблоны, потому что схема таблиц неизвестна во время компиляции, и использование динамических объектов было бы излишним (и медленным), так как я знаю точный набор свойств и их типы. Мне нужно сгенерировать один POCO для таблицы, с полями, соответствующими столбцам, и с типами данных, установленными соответственно (INT -> int, TEXT -> string).

После генерации POCO я продолжу получать / устанавливать свойства, используя испускаемый CIL, очень похоже на то, чтоPetaPoco делает для статически скомпилированных POCO, Я надеюсь, что все это будет быстрее, чем использование нетипизированных списков, и даст мне высококачественные POCO, которые строго типизированы и могут быть ускорены CLR. Правильно ли я это предположить? и вы можете начать меня с генерации POCO во время выполнения? И будет ли использование POCO намного быстрее или намного более эффективным с точки зрения памяти, чем использованиеList<object>? В принципе, это будет стоить хлопот? Я уже знаю, как ускорить получение / настройку полей с помощью испускаемого CIL.

Ответы на вопрос(2)

Ваш ответ на вопрос