Pregunta

Si tengo una clase declarada como:

public class MyPersistentClass
{
     public int ID  { get; set; } 
     public Stream MyData  {get;set; }
}

¿Cómo puedo usar las asignaciones de NHibernate para conservar la propiedad MyData hacia y desde la base de datos?

¿Fue útil?

Solución

Puede usar un Stream con un tipo personalizado y asignarlo de acuerdo con sus necesidades de almacenamiento. Pero hay algunos problemas con el uso del objeto Stream como menciono en mi series de blogs sobre la transmisión diferida de BLOB y CLOB con NHibernate .

Lo que realmente necesita es un objeto Blob que a su vez pueda crear un Stream para leer datos. Dado que Stream contiene información sobre la posición desde la que está leyendo y espera que se cierre y elimine, puede crear algunos problemas cuando se usa directamente en un modelo de dominio.

Sugeriría que eche un vistazo a la serie de blogs , así como el código fuente de Proyecto NHibernate.Lob . Incluye varias opciones de mapeo para tal problema. Un poco escasamente documentado hasta ahora, pero viene más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top