A strong совет: загрузите / прикрепите файл (ы) после была создана запись 'attach target'.
У меня похожая ситуация, когда у меня есть (почти на самом деле почти такой же) объект "Объявление", к которому я могу прикрепить изображение или вложение в формате PDF. Моя первоначальная идея состояла в том, чтобы разрешить размещение нового объявления (заголовок, категория, текст и т. Д.) с файлом для загрузки. Теперь, по общему признанию, я пытался проектировать для загрузки многих файлов одновременно (и умных ответов / проверки для неудачных загрузок) .. но суть в том, что этот подход был слишком сложным. Сделайте себе одолжение и попросите пользователя сначала создать запись, а затем присоединить / загрузить файл (ы). Наличие записи в таблице первичного ключа также облегчит работу.
РЕДАКТИРОВАТЬ: Больше информации о файлах и загрузках:
Я использую объект File
для хранения файлов в моей БД (так что да, мне понадобится поле двоичного кода / изображения для byte[]
). Затем у меня есть другие объекты, которые представляют конкретные файлы, такие как Image
и PdfDoc
, которые наследуются от File
- к ним относятся другие свойства (например, Width и Height для типа Image
). У меня есть частичное представление, которое отображает многократно используемый элемент управления загрузкой для подробного представления, которое при отправке сообщений в методы AttachImage()
или AttachPdfDoc()
для конкретного Announcement
(после того, как он был создан - см. Выше). Слой Service следит за сохранением файлов и т. Д. После проверки и связывает объекты. Затем подробный вид перезагружается, и прикрепленные файлы перечисляются готовыми для публичного скачивания. (Примечание: это в значительной степени суммировано, кстати, я также разрешаю редактировать элементы управления (форма загрузки) в подробном представлении для аутентифицированных пользователей)