Rápida serialización y deserialización utilizando POCO de emisión dinámica.

Actualmente estoy serializando filas de la tabla SQL en un formato binario para un almacenamiento eficiente. Serializo / deserializo los datos binarios en unList<object> por fila. Estoy intentando actualizar esto para usar POCO, que se generará (emitirá) dinámicamente con un Campo por columna.

He estado buscando horas en línea y me he topado con ORMs / frameworks como EF, T4, ExpandoObject, pero todos estos utilizan un objeto dinámico (las propiedades pueden agregarse / eliminarse sobre la marcha) o simplemente generar un POCO antes de compilar. No puedo usar plantillas porque el esquema de las tablas es desconocido en tiempo de compilación, y el uso de objetos dinámicos sería excesivo (y lento), ya que conozco el conjunto exacto de propiedades y sus tipos. Necesito generar un POCO por tabla, con los campos correspondientes a las columnas, y con los tipos de datos establecidos en consecuencia (INT -> int, TEXT -> string).

Después de generar el POCO, procederé a obtener / establecer las propiedades usando CIL emitido, de manera muy parecida a lo quePetaPoco hace para POCOs compilados estáticamente. Espero que todo este rigmarole sea más rápido que el uso de listas sin tipo, y que me proporcionen POCO de alta fidelidad que estén fuertemente tipados y puedan ser acelerados por el CLR. ¿Estoy en lo correcto al asumir esto? y ¿puedes empezar a generar POCOs en tiempo de ejecución? Y el uso de POCO será mucho más rápido o más eficiente en memoria que el uso de unList<object>? Básicamente, ¿valdrá la pena? Ya sé cómo acelerar / establecer campos usando CIL emitido.

Respuestas a la pregunta(2)

Su respuesta a la pregunta