Możesz użyć strumienia, używając niestandardowego typu i zmapować go zgodnie z potrzebami przechowywania. Ale są pewne problemy z używaniem obiektu Stream, o czym wspomniałem w moim blog series about lazy streaming of BLOBs and CLOBs with NHibernate.
Tym, czego naprawdę potrzebujesz, jest obiekt Blob, który z kolei może utworzyć strumień do odczytu danych. Ponieważ strumień zawiera informacje o pozycji, z której czytasz, i spodziewa się, że zostanie zamknięty i usunięty, może powodować pewne problemy, gdy jest używany bezpośrednio w modelu domeny.
Sugeruję, aby przyjrzeć się the blog series, a także kodu źródłowego NHibernate.Lob project. Zawiera różne opcje mapowania dla właśnie takiego problemu. Trochę mało udokumentowana do tej pory, ale coraz więcej.
FYI Projekt NHibernate.Lob jest trochę niekompletny i nie otrzymał aktualizacji od dłuższego czasu. Próbując użyć tego w ostatnim projekcie, znalazłem wiele problemów (np. Nie zostało zaimplementowane zbieranie śmieci, nie działa z pamięcią podręczną drugiego poziomu itp.) - postanowiłem więc je rozwidlić i naprawić - można znaleźć moje widły tutaj: https://github.com/bittercoder/Lob – Bittercoder
@Bittercoder: Dzięki za twój wysiłek w naprawienie tego. Próbuję go uruchomić NH 3.2. –