Pokud jsem to četl správně, ve skutečnosti se snažíte uložit byte[] do DB, která nemůže fungovat, protože byte[] není namapovaná entita.
Pravděpodobně budete chtít napsat:
dl.Contents = new DownloadContent { Data = content };
db.session.SaveOrUpdate(dl); // content is wrong, since content is of type byte[]
Také proto, že jste nezadali Inverse() , budete pravděpodobně muset SaveOrUpdate DownloadContent za prvé, proto:
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);