Jeśli przeczytałem to poprawnie, faktycznie próbujesz zapisać byte[] do bazy danych, która nie może działać, ponieważ byte[] nie jest mapowaną jednostką.
Prawdopodobnie chcesz napisać:
dl.Contents = new DownloadContent { Data = content };
db.session.SaveOrUpdate(dl); // content is wrong, since content is of type byte[]
Ponadto, ponieważ nie określiłeś Inverse() , prawdopodobnie będziesz musiał SaveOrUpdate DownloadContent po pierwsze, dlatego:
Download dl = new Download { OutFileName = "Test", DoForward = true };
DownloadContent dlc = new DownloadContent { Data = content };
dl.Contents = dlc;
db.session.SaveOrUpdate(dlc);
db.session.SaveOrUpdate(dl);