Se ho letto bene, stai effettivamente cercando di salvare il byte[] al DB, che non può funzionare, poiché byte[] non è un'entità mappata.
Probabilmente vorrai scrivere:
dl.Contents = new DownloadContent { Data = content };
db.session.SaveOrUpdate(dl); // content is wrong, since content is of type byte[]
Inoltre, poiché non hai specificato un Inverse() , probabilmente dovrai SaveOrUpdate il DownloadContent prima, quindi:
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);