Pergunta

Se eu tiver uma classe declarada como:

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

Como posso usar mapeamentos do NHibernate persistir a propriedade MyData de e para o banco de dados?

Foi útil?

Solução

Você pode usar um fluxo usando um tipo personalizado e mapeá-la de acordo com suas necessidades de armazenamento. Mas existem alguns problemas com o uso do objeto Stream como eu menciono em meu série de blog sobre streaming de preguiçoso de BLOBs e CLOBs com NHibernate .

O que você realmente precisa é de um objeto Blob que por sua vez pode criar um fluxo para ler dados a partir. Desde fluxo contém informações sobre a posição que você está lendo a partir e espera ser fechado e descartado ele pode criar alguns problemas quando usado diretamente em um modelo de domínio.

Eu sugiro que você dê uma olhada em as séries de blog , bem como o código-fonte do NHibernate.Lob projeto . Ele inclui várias opções de mapeamento para tal problema a. Um pouco mal documentado até agora, mas mais está por vir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top